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 347234 - streaming UDP (MPEGTS) shows only one frame of video
streaming UDP (MPEGTS) shows only one frame of video
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.6
Other Linux
: Normal normal
: 0.10.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 336752 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-07-11 15:47 UTC by Philip Jägenstedt
Modified: 2006-07-18 09:44 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14



Description Philip Jägenstedt 2006-07-11 15:47:16 UTC
When streaming an MPEG1 file with VLC over UDP, trying to play it with
gst-launch-0.10 playbin uri=udp://0.0.0.0:1234 only one frame of video is shown. The stream can be played with vlc and mplayer, so the problem is at least partially in gstreamer. I'm using Ubuntu Dapper and have the following gstreamer packages installed:

gstreamer0.10-alsa
gstreamer0.10-doc
gstreamer0.10-esd
gstreamer0.10-ffmpeg
gstreamer0.10-fluendo-mpegdemux
gstreamer0.10-gl
gstreamer0.10-gnomevfs
gstreamer0.10-pitfdll
gstreamer0.10-plugins-bad
gstreamer0.10-plugins-bad-multiverse
gstreamer0.10-plugins-base
gstreamer0.10-plugins-base-apps
gstreamer0.10-plugins-good
gstreamer0.10-plugins-ugly
gstreamer0.10-plugins-ugly-multiverse
gstreamer0.10-tools
gstreamer0.10-x

Attached is the level 5 log. gstreamer freezes after line 280968, so the stuff before that is probably the interesting part.
Comment 1 Philip Jägenstedt 2006-07-11 15:51:03 UTC
Looks like the log is too big to attach, so find it at http://foolip.org/udp-mpegts-1frame.complete.log.bz2 (the webserver is misconfigured, so right click to save).
Comment 2 Wim Taymans 2006-07-12 08:12:31 UTC
audio decoding fails because the data sent by the server is MPEG TS over RTP. We don't have an RTP depacketizer for MPEG TS yet.
Comment 3 Wim Taymans 2006-07-12 09:35:14 UTC
Commited an mpeg2 TS depayloader:

        * gst/rtp/Makefile.am:
        * gst/rtp/gstrtp.c: (plugin_init):
        * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_base_init),
        (gst_rtp_mp2t_depay_class_init), (gst_rtp_mp2t_depay_init),
        (gst_rtp_mp2t_depay_setcaps), (gst_rtp_mp2t_depay_process),
        (gst_rtp_mp2t_depay_set_property),
        (gst_rtp_mp2t_depay_get_property),
        (gst_rtp_mp2t_depay_change_state),
        (gst_rtp_mp2t_depay_plugin_init):
        * gst/rtp/gstrtpmp2tdepay.h:
        Added mpeg2 TS depayloader. Closing #347234.

Following line works somewhat:

  gst-launch-0.10 -v udpsrc uri=udp://localhost:1234 ! application/x-rtp, media=video, clock-rate=90000 ! rtpmp2tdepay ! flutsdemux name=d ! queue ! flumpeg2vdec ! xvimagesink sync=false  d. ! queue ! flump3dec ! alsasink sync=false

Constructing a good RTP session from a random UDP source is not yet implemented in playbin. Possibly add typefind code for RTP specific payloads?
Comment 4 Tim-Philipp Müller 2006-07-18 09:44:14 UTC
*** Bug 336752 has been marked as a duplicate of this bug. ***