Problem with neonhttpsrc & ffmpegdec & mp4 file

Aleksander Wabik awabik at opera.com
Thu Oct 6 04:54:22 PDT 2011


Hi,

I'm having some strange problem, and up till now I think that I've used  
all my gstreamer knowledge, but no solution. Can someone look at it and  
give some hints about possible causes?

The problem happens when I try to use a http server (in my case it's  
lighttpd on localhost), a specific mp4 file (produced by ffmpeg) and  
souphttpsrc element. I attach the mp4 file, it's only a few kilobytes, I  
hope it won't be considered as spam.

When I try to play the file using gst-launch, the playback does not start  
and there's an error in ffmpegdec:

$ GST_DEBUG=2 gst-launch neonhttpsrc  
location=http://localhost/media/files/colortest.mp4 ! decodebin2 !  
xvimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.044473755 11349  0x87f73c8 WARN                 qtdemux  
qtdemux.c:4108:gst_qtdemux_chain:<qtdemux0> Unknown fourcc while parsing  
header : free
0:00:00.045317707 11349  0x87f73c8 WARN                 qtdemux  
qtdemux_types.c:191:qtdemux_type_get: unknown QuickTime node type avc1
0:00:00.045352530 11349  0x87f73c8 WARN                 qtdemux  
qtdemux_types.c:191:qtdemux_type_get: unknown QuickTime node type avcC
0:00:00.045492552 11349  0x87f73c8 WARN                 qtdemux  
qtdemux.c:5889:qtdemux_parse_segments:<qtdemux0> streaming; discarding  
edit list segments
0:00:00.064298692 11349  0x880bf58 ERROR                 ffmpeg  
gstffmpegdec.c:2306:gst_ffmpegdec_frame:<ffdec_h2640> no codec context
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 152755 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

But if only I use souphttpsrc instead of neonhttpsrc, everything works  
fine!

$ GST_DEBUG=2 gst-launch souphttpsrc  
location=http://localhost/media/files/colortest.mp4 ! decodebin2 !  
xvimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.127661574 11356  0x8303560 WARN                 qtdemux  
qtdemux.c:4108:gst_qtdemux_chain:<qtdemux0> Unknown fourcc while parsing  
header : free
0:00:00.129263368 11356  0x8303560 WARN                 qtdemux  
qtdemux_types.c:191:qtdemux_type_get: unknown QuickTime node type avc1
0:00:00.129282633 11356  0x8303560 WARN                 qtdemux  
qtdemux_types.c:191:qtdemux_type_get: unknown QuickTime node type avcC
0:00:00.129348471 11356  0x8303560 WARN                 qtdemux  
qtdemux.c:5889:qtdemux_parse_segments:<qtdemux0> streaming; discarding  
edit list segments
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 4239994335 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

I've been modifying neonhttpsrcd code to dump buffers obtained in  
gst_neonhttp_src_request_dispatch(), and I compared their md5sum with the  
original file. The sums were matching, so it is not a problem with broken  
data. I don't know what may cause the error "ffmpeg  
gstffmpegdec.c:2306:gst_ffmpegdec_frame:<ffdec_h2640> no codec context".  
Do you have any ideas? I'm not sure if it's a bug or neonhttpsrc does not  
support something, that should be supported in order to make it work.

Some info about my system: Ubuntu 11.04 (32bit), neonhttpsrc compiled on  
my own from gst-plugins-bad-0.10.21 (against gnutls-enabled libneon), the  
rest of gstreamer comes from Ubuntu repositories.

best regards,
AW.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: colortest.mp4
Type: video/mp4
Size: 14467 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20111006/1ee2fe67/attachment-0001.mp4>


More information about the gstreamer-devel mailing list