Does anyone know how to play a VOB file that uses the AC3 audio codec using gstreamer? I'm testing with gplay on our custom board based on Boundary Device's Nitrogen6X (chip: i.MX6Q) using the latest Timesys BSP. The video works fine but gstreamer is showing the following error with the audio:
get GST_MESSAGE_ELEMENT missing-plugin, type=(string)decoder, detail=(GstCaps)audio/x-ac3, framed=(boolean)true, alignment=(string)frame, name=(string)"AC-3\ \(ATSC\ A/52\)\ decoder";
If I look for AC3 support using gst-inspect:
# gst-inspect | grep -i AC3
typefindfunctions: audio/x-ac3: ac3, eac3
rtp: rtpac3depay: RTP AC3 depayloader
rtp: rtpac3pay: RTP AC3 audio payloader
audioparsers: ac3parse: AC3 audio stream parser
beep.imx: ac3: ac3
beep.imx: 3ca: ac3
beep.imx: beepdec.ac3: AC3 decoder
So it looks like there is support for decoding AC3 audio. Here are the versions of gstreamer and plugin libraries I'm using:
gstreamer 0.10.36, gst-fsl-plugin 3.5.7-1.0, gst-plugins-bad 0.10.23, gst-plugins-base 0.10.36, gst-plugins-gl 0.10.3.1, gst-plugins-good 0.10.31
Thanks,
Jim
I added the liba52 (shows as a52dec in the Timesys desktop factory menu) library to my build and can now play VOB files and hear the audio on most of the VOB files I have. Some VOB files that still have a problem, I see the following when playing with gplay:
Track 01 [audio_000001] Enabled
ppid: 0, ppid 1
Duration: 1:02:02.528000000
Language: und
Mime:
audio/x-ac3, channels=(int)6, rate=(int)48000, bitrate=(int)448000, framed=(bool
ean)true
Track 02 [audio_000002] Enabled
ppid: 0, ppid 2
Duration: 1:02:02.528000000
Language: und
Mime:
audio/x-ac3, channels=(int)6, rate=(int)48000, bitrate=(int)448000, framed=(bool
ean)true
Track 03 [audio_000003] Enabled
ppid: 0, ppid 3
Duration: 1:02:02.464000000
Language: und
Mime:
audio/x-ac3, channels=(int)2, rate=(int)48000, bitrate=(int)192000, framed=(bool
ean)true
Track 04 [audio_000004] Enabled
ppid: 0, ppid 4
Duration: 1:02:02.464000000
Language: und
Mime:
audio/x-ac3, channels=(int)2, rate=(int)48000, bitrate=(int)192000, framed=(bool
ean)true
FOUND GST_MESSAGE_TAG!
codec: MPEG2
language code: und
bitrate: 9800000
FOUND GST_MESSAGE_TAG!
container format: MPEG
FOUND GST_MESSAGE_TAG!
codec: AC3
language code: und
bitrate: 448000
FOUND GST_MESSAGE_TAG!
codec: AC3
language code: und
bitrate: 448000
FOUND GST_MESSAGE_TAG!
codec: AC3
language code: und
bitrate: 192000
FOUND GST_MESSAGE_TAG!
codec: AC3
language code: und
bitrate: 192000
No accelerated IMDCT transform found
No accelerated IMDCT transform found
No accelerated IMDCT transform found
No accelerated IMDCT transform found
FOUND GST_MESSAGE_TAG!
audio codec: Dolby Digital (AC-3)
bitrate: 448000
FOUND GST_MESSAGE_TAG!
audio codec: Dolby Digital (AC-3)
bitrate: 192000
FOUND GST_MESSAGE_TAG!
audio codec: Dolby Digital (AC-3)
bitrate: 192000
MFW_GST_V4LSINK_PLUGIN 3.0.7 build on Apr 10 2014 11:59:31.
[INFO] bitstreamMode 1, chromaInterleave 1, mapType 0, tiled2LinearEnable 0
FOUND GST_MESSAGE_TAG!
audio codec: Dolby Digital (AC-3)
bitrate: 448000
>>V4L_SINK: Actually buffer status:
hardware buffer : 10
software buffer : 0
get GST_MESSAGE_ELEMENT playbin2-stream-changed, uri=(string)file:///media/testvideo.VOB;
FOUND GST_MESSAGE_TAG!
minimum bitrate: 448000
maximum bitrate: 448000
full screen size:1280x720
I don't know if it has anything to do with there being multiple audio tracks with these particular VOB files, but sometimes I get audio, sometimes nothing but some crackling noises every once in awhile and other times the audio track is different as though a random one is being chosen. Is the "No accelerated IMDCT transform found" message just a warning? I'm seeing this on any VOB file using AC3 audio encoding.
Jim