io-media-config { global-options { audio-hi-prio = 22 audio-mid-prio = 15 audio-lo-prio = 12 video-hi-prio = 21 video-mid-prio = 14 video-lo-prio = 11 play-status-prio = 14 rip-prio = 9 } module-options { module = "cdda_trackplayer" # If skip on error is not "no", it defines the number of milliseconds # to skip on a read error, the percentage to grow it by on each subsequent error, # and the maximum number of skips. skip-on-error = 50,100,12 queue-time = 15000 # Prefetch options. 0 = disable, 1 = resume on high water mark, 2 = resume on low # water mark, 3 = resume on high water mark, pause on low water mark. prefetch = 2 # dts_writer, if not "", specifies a different writer filter for DTS CDs dts_writer = "" cdda_writer = "" resource { name = "TrickPlayVolumeFade" type = long value = 10 optional = yes } # Max retries when reading from CDDA: default value = 0 since devb driver # typically does its own retries resource { filter = "reader" name = "MM_CDDA_READ_MAX_RETRY" type = long value = 0 } # Enable DMA reads from CDDA: value = 0 DMA disabled, value = 1 DMA enabled resource { filter = "reader" name = "MM_CDDA_DMA_CAM_READCD" type = long value = 0 } # Drive specific 'readcd.rsvd3' value to be used when doing DMA reads from CDDA # Note: only applies if DMA is enabled (MM_CDDA_DMA_CAM_READCD), consult CD drive # specs for value resource { filter = "reader" name = "MM_CDDA_DMA_CAM_READCD_RSVD3" type = long value = 0 } # Timeout value in seconds when doing DMA reads from CDDA # Value corresponds to devb driver 'cdrom timeout' values, value = 0 defaults # to devb group 1 timeout. Note: only applies if DMA is enabled (MM_CDDA_DMA_CAM_READCD) resource { filter = "reader" name = "MM_CDDA_DMA_CAM_READCD_TIMEOUT" type = long value = 0 } resource { filter = "audio_writer" name = "MM_AUDIO_WRITER_NO_MIXER" type = long value = 1 } } module-options { module = "margi_discplayer" dvda-server = "/dev/discplayer" dvdregioncodebitmask = 0 } module-options { module = "mediafs_2wire" # Amount of time, in milliseconds, to wait until sending a metadata event # to the client if we have not recieved a metadata update from the device. metadata-timeout = 200 # These parameters control the sizing of the prefetching queue for the mediafs graph. queue-pre-hw = 50 queue-pre-lw = 5 queue-time = 1000 # Prefetch options. 0 = disable, 1 = resume on high water mark, 2 = resume on low # water mark, 3 = resume on high water mark, pause on low water mark. prefetch = 3 } module-options { module = "mediafs_2wire_spooler" queue-size = 20 } module-options { module = "spooler" encoding-bitrate = 128000 virtual-bitrate = 0 } module-options { module = "streamplayer" queue1-size = 150 queue1-pre-hw = 80 queue1-pre-lw = 20 queue1-time = 8000 queue2-size = 50 queue2-pre-hw = 90 queue2-pre-lw = 10 queue2-time = 2000 } module-options { module = "trackcopier" # MMF resources here. resource { name = "MM_RAWFILE_WRITER_BUFFER_SIZE" type = long value = 16384 optional = yes } # Max retries when reading from CDDA: default value = 0 since devb driver # typically does its own retries resource { filter = "reader" name = "MM_CDDA_READ_MAX_RETRY" type = long value = 0 optional = yes } # Enable DMA reads from CDDA: value = 0 DMA disabled, value = 1 DMA enabled resource { filter = "reader" name = "MM_CDDA_DMA_CAM_READCD" type = long value = 0 optional = yes } # Drive specific 'readcd.rsvd3' value to be used when doing DMA reads from CDDA # Note: only applies if DMA is enabled (MM_CDDA_DMA_CAM_READCD), consult CD drive # specs for value resource { filter = "reader" name = "MM_CDDA_DMA_CAM_READCD_RSVD3" type = long value = 0 optional = yes } # Timeout value in seconds when doing DMA reads from CDDA # Value corresponds to devb driver 'cdrom timeout' values, value = 0 defaults # to devb group 1 timeout. Note: only applies if DMA is enabled (MM_CDDA_DMA_CAM_READCD) resource { filter = "reader" name = "MM_CDDA_DMA_CAM_READCD_TIMEOUT" type = long value = 0 optional = yes } } module-options { module = "mmf_graphbuilder" queue1-size = 49 queue1-pre-hw = 80 queue1-pre-lw = 20 queue1-time = 12000 queue1-drain = 0 queue2-size = 8 queue2-pre-hw = 90 queue2-pre-lw = 10 queue2-time = 1000 prefetch = 2 # parsed-video-queue-size is used to buffer parsed, but encoded video parsed-video-queue-size = 15 # decoded-video-queue-size is used to buffer decoded video frames for writing. decoded-video-queue-size = 6 # pre-buffer can be "none", "stream", "parser", "build", or "start" pre-buffer = none # What to do with the old graph before starting the new one: # "none", "stop", or "destroy" transition = none resource { filter = "audio_writer" # filter can be "reader", "parser", "decoder", or "audio_writer" # when a specific filter is to be targeted as soon as it's added to the graph, # or it can be omitted to target the entire graph. name = "TrickPlayVolumeFade" type = long value = 10 optional = yes } resource { filter = "reader" name = "StreamerStickyError" type = long value = 1 optional = yes } resource { # The parsers implement Audio-Video Sync. Delay. The value is the # amount of time to delay the video with respect to the audio in # microseconds. Negative values are allowed if the video needs to # preceed the audio. filter = "parser" name = "AVSyncDelay" type = long value = 0 optional = yes } resource { name = "StreamerStickyError" type = long value = 0 optional = yes } format { url = "*.mov" parser = "mp4_parser" decoder = "qnx_raac_decoder-v6" } format { url = "*.mp[a123]" parser = "mpega_parser" decoder = "fraunhofer_mp3_decoder" # You can set MMF graph-level parameters here: # graphparam { # name = "foo" # value = "bar" # } } format { url = "*.mp4" parser = "mp4_parser" decoder = "qnx_raac_decoder-v6" } format { url = "*.m4a" parser = "mp4_parser" decoder = "qnx_raac_decoder-v6" } format { url = "*.aac" parser = "aac_parser" decoder = "qnx_raac_decoder-v6" } format { url = "*.wma" parser = "wma9_parser" decoder = "wma9_decoder" } format { url = "*.ogg" parser = "ogg_decoder" } format { url = "*.wav" parser = "wav_parser" } # This would prevent playing anything that doesn't match any of the above: # format { # url = "*" # strict = yes # } } module-options { module = "registry" entry { name = "lang:audio:default" # Favourite audio language for media with multiple audio tracks. # An ISO language code, or "" for "unspecified" value = "" } } module-options { module = "mmf_trackplayer" # If skip on error is not "no", it defines the number of milliseconds # to skip on a read error, the percentage to grow it by on each subsequent error, # and the maximum number of skips. skip-on-error = 200,100,10 # Prefetch options. 0 = disable, 1 = resume on high water mark, 2 = resume on low # water mark, 3 = resume on high water mark, pause on low water mark. prefetch = 2 } module-options { module = "mmf" audio_writer { url = "snd:*" filter = "audio_writer" } video_writer { url = "gf:*" filter = "gf_writer" } # These still work, if a filter isn't selected by pattern matching: audio_writer = "audio_writer" video_writer = "gf_writer" dlldir = "/lib/dll/mmedia" # keepdlls can be: # "none" (unload any DLLs when they aren't in use) # "used" (after a DLL is first used, keep it loaded forever) # "all" (permanently load all DLLs from the specified directory) keepdlls = "none" # If keepdlls is "none" or "used", the "keepdll" element can be used # to load specific DLLs at startup and keep them loaded keepdll { name = "audio_writer" } keepdll { name = "fildes_streamer" } keepdll { name = "http_streamer" # "optional" means it's not a fatal error when the DLL is not there optional = yes } keepdll { name = "tmpfile_streamer" optional = yes } keepdll { name = "stream_reader" } keepdll { name = "wav_parser" optional = yes } keepdll { name = "mpega_parser" } keepdll { name = "wma9_parser" optional = yes } keepdll { name = "queue_filter" } keepdll { name = "wms_streamer" optional = yes } keepdll { name = "ipp_video_decoder" optional = yes } keepdll { name = "mp4_parser" optional = yes } keepdll { name = "aac_parser" optional = yes } keepdll { name = "qnx_raac_decoder-v6" optional = yes } # utf8hook specifies a DLL to perform customized conversions of metadata utf8hook = "" } module-options { module = "aoi" # For each DLL you want to load, specify a "load" element like this: # load { # dll = "/lib/dll/mmedia/audio_writer.so" # keep = "yes" } } }