After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 338928 - [ffdemux_aac] shouldn't be autoplugged, as it can't work push-based as a decoder
[ffdemux_aac] shouldn't be autoplugged, as it can't work push-based as a decoder
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
0.10.1
Other All
: Normal major
: 0.10.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-04-18 19:07 UTC by Zygmunt Krynicki
Modified: 2006-05-02 16:15 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
Proposed patch (don't register a raw aac demuxer) (737 bytes, patch)
2006-05-01 11:51 UTC, Sjoerd Simons
committed Details | Review

Description Zygmunt Krynicki 2006-04-18 19:07:04 UTC
Please describe the problem:
Gstreamer cannot handle specific mp4 files that play fine with faad and mplayer.

Steps to reproduce:
1. Play the specific file
2. 
3. 


Actual results:
gst-launch complains about unimplemented feature.

Expected results:


Does this happen every time?
yes

Other information:
zyga@falcon:/media/ipod/iPod_Control/Music/F00$ gst-launch-0.10 playbin
uri="file:///media/ipod/iPod_Control/Music/F00/BMRH.m4a"

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

ERROR: from element /playbin0/decoder/ffdemux_aac0: Element doesn't implement
handling of this stream. Please file a bug.

Additional debug info:

gstffmpegdemux.c(987): gst_ffmpegdemux_sink_activate ():
/playbin0/decoder/ffdemux_aac0:

failed to activate sinkpad in pull mode, push mode not implemented yet

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

FREEING pipeline ...









with bad-multiverse-plugins and without ffmpeg plugin







zyga@falcon:/media/ipod/iPod_Control/Music/F00$ gst-launch-0.10 playbin
uri="file:///media/ipod/iPod_Control/Music/F00/BMRH.m4a"

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

ERROR: from element /playbin0/source: Internal data flow error.

Additional debug info:

gstbasesrc.c(1416): gst_base_src_loop (): /playbin0/source:

streaming task paused, reason not-linked

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

FREEING pipeline ...
Comment 1 Tim-Philipp Müller 2006-04-18 19:24:38 UTC
You want qtdemux from gst-plugins-bad for this.

The gst-ffmpeg demuxers should work as well of course, they've been rewritten a few days ago in gst-ffmpeg CVS, maybe you could give that a shot to see whether it works now.
Comment 2 Carlos Moffat 2006-04-25 20:17:21 UTC
Hi Tim-Philipp,

I'm seeing the same error as above, and I have the 'bad' set installed in my Debian machine. I have:

/usr/lib/gstreamer-0.10/libgstqtdemux.so
/usr/lib/gstreamer-0.8/libgstqtdemux.so

Any ideas?

Thanks!

P.S. this used to work. I'm not sure what happened.
Comment 3 Sjoerd Simons 2006-05-01 10:34:16 UTC
(In reply to comment #1)
> You want qtdemux from gst-plugins-bad for this.
> 
> The gst-ffmpeg demuxers should work as well of course, they've been rewritten a
> few days ago in gst-ffmpeg CVS, maybe you could give that a shot to see whether
> it works now.
> 

Just tried CVS. Got the same output as the reporter:

gst-launch-0.10  playbin uri=file://$(pwd)/rb_06_apr_21.mov            [~]
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /playbin0/decoder/ffdemux_aac0: Element doesn't implement handling of this stream. Please file a bug.
Additional debug info:
gstffmpegdemux.c(1280): gst_ffmpegdemux_sink_activate (): /playbin0/decoder/ffdemux_aac0:
failed to activate sinkpad in pull mode, push mode not implemented yet
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...


You can download the video file from the rocketboom site:
  http://www.rocketboom.net/video/rb_06_apr_21.mov


If i run it directly from the rocketboom site playbin apparently selects a different plugin, but with the same result: 

gst-launch-0.10  playbin uri=http://www.rocketboom.net/video/rb_06_apr_12.mov   
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /playbin0/decoder/ffdemux_mov_mp4_m4a_3gp_3g20: Element doesn't implement handling of this stream. Please file a bug.
Additional debug info:
gstffmpegdemux.c(1280): gst_ffmpegdemux_sink_activate (): /playbin0/decoder/ffdemux_mov_mp4_m4a_3gp_3g20:
failed to activate sinkpad in pull mode, push mode not implemented yet
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...
Comment 4 Tim-Philipp Müller 2006-05-01 10:51:00 UTC
Sorry, I didn't catch the actual problem before.

What you really need is the 'faad' plugin from gst-plugins-bad.

The ffdemux_aac element shouldn't be autoplugged for this, that needs to be fixed. We should probably add a 'framed = (boolean) false' to the sink template's caps for ffdemux_aac or set the rank to NONE.


Comment 5 Sjoerd Simons 2006-05-01 11:50:22 UTC
(In reply to comment #4)
> Sorry, I didn't catch the actual problem before.
> 
> What you really need is the 'faad' plugin from gst-plugins-bad.
> 
> The ffdemux_aac element shouldn't be autoplugged for this, that needs to be
> fixed. We should probably add a 'framed = (boolean) false' to the sink
> template's caps for ffdemux_aac or set the rank to NONE.

Yeah, i also just noticed that gst tries to autoplug it for decoding instead of demuxing... Now the aac demux in ffmpeg is just a raw demux (it doesn't actually do any demuxing).. So i guess it shouldn't be registered as a demuxer at all (just like other raw demuxers/``emulators'' arent)

Proposed fix in attached patch

Comment 6 Sjoerd Simons 2006-05-01 11:51:06 UTC
Created attachment 64604 [details] [review]
Proposed patch (don't register a raw aac demuxer)
Comment 7 Tim-Philipp Müller 2006-05-02 16:15:25 UTC
 2006-05-02  Tim-Philipp Müller  <tim at centricular dot net>

        * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
          Give ffmpeg demuxers a rank of NONE for the time being, so that
          they are not auto-plugged; they are not stable enough for that
          yet (e.g. #337785). Don't register AAC demuxer, it's not really
          useful and can't be used as faad replacement (#338928).