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 498715 - GStreamer fails to decode MPEG1 Video RTP streams when gst-ffmpeg is installed
GStreamer fails to decode MPEG1 Video RTP streams when gst-ffmpeg is installed
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.x
Other All
: Normal normal
: 0.10.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-11-21 11:06 UTC by Dario Gallucci
Modified: 2007-11-21 13:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dario Gallucci 2007-11-21 11:06:21 UTC
Please describe the problem:
If gst-ffmpeg is installed any gstreamer based player (eg. kmplayer with gst engine or totem) fails to decode mpeg1 video rtp streams from an rtsp session.

Totem fails with this error: Internal GStreamer error: negotiation problem.
On the console the following message can be read:
gstffmpegdec.c(1981): gst_ffmpegdec_chain (): /play/decodebin1/ffdec_mpeg40: ffdec_mpeg4: input format was not set before data start

If gst-ffmpeg is not installed, it works correctly.

Steps to reproduce:
1. Install gst-ffmpeg
2. Try to play rtsp://live.polito.it/test/tc_mpeg1.mpg
3. Fails
4. Uninstall gst-ffmpeg
5. Try to play rtsp://live.polito.it/test/tc_mpeg1.mpg
6. Works


Actual results:


Expected results:


Does this happen every time?
Yes.

Other information:
I suppose it depends on the fact "video/mpeg" is mapped to MPEG1, MPEG2 and MPEG4 in ./ext/ffmpeg/gstffmpegcodecmap.c, but it should be mapped to MPEG1 and 2 only.
Comment 1 Dario Gallucci 2007-11-21 12:09:36 UTC
I've worked a bit on it and found the bug.
The problem is located in gst-plugins-good, gst/rtp/gstrtpmpvdepay.c.
mpegversion is not defined in the static caps.

Changing:
GST_STATIC_CAPS ("video/mpeg, systemstream = (boolean) FALSE")
to:
GST_STATIC_CAPS ("video/mpeg, mpegversion = (int) 2, systemstream = (boolean) FALSE")

Solves the problem.
Comment 2 Wim Taymans 2007-11-21 13:53:42 UTC
yeah, was already fixed in CVS here: http://webcvs.freedesktop.org/gstreamer/gst-plugins-good/gst/rtp/gstrtpmpvdepay.c?r1=1.4&r2=1.5