[Bug 744875] New: vdpaumpeg4dec doesn't work with a udp/rtp

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Feb 20 14:41:58 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=744875

            Bug ID: 744875
           Summary: vdpaumpeg4dec doesn't work with a udp/rtp
    Classification: Platform
           Product: GStreamer
           Version: 0.10.x
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: amir at viel-zu.org
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

i'm trying to stream mpeg4 encoded video through udp/rtp and decode it in the
receiving pipeline using vdpau plugins. the receiving pipeline is running on an
arm soc (a20 allwinner, armhf linux-sunxi kernel 3.4.10). limited vdpau support
is provided through libvdpau-sunxi which works very well for mplayer.

when i run a pipeline with a local video source like videotestsrc it works
fine.

$ gst-launch-0.10 -v videotestsrc ! ffenc_mpeg4 ! queue ! vdpaumpeg4dec !
vdpauvideopostprocess ! vdpausink

when i use a udpsrc it breaks:

$ GST_DEBUG=vdpaumpeg4dec:5 gst-launch-0.10 -v udpsrc port=5000 !
'application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MP4V-ES, payload=(int)96' ! rtpmp4vdepay ! vdpaumpeg4dec
! vdpauvideopostprocess ! vdpausink
Setting pipeline to PAUSED ...
[VDPAU SUNXI] VE version 0x1623 opened.
/GstPipeline:pipeline0/GstVdpVideoPostProcess:vdpvideopostprocess0.GstVdpOutputSrcPad:src:
device = ((GstVdpDevice*) 0x136b818)
/GstPipeline:pipeline0/GstVdpMpeg4Dec:vdpmpeg4dec0.GstVdpVideoSrcPad:src:
device = ((GstVdpDevice*) 0x136b818)
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MP4V-ES, payload=(int)96
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:src: caps =
video/mpeg, mpegversion=(int)4, systemstream=(boolean)false
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:sink: caps =
application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MP4V-ES, payload=(int)96
/GstPipeline:pipeline0/GstVdpMpeg4Dec:vdpmpeg4dec0.GstPad:sink: caps =
video/mpeg, mpegversion=(int)4, systemstream=(boolean)false
0:00:02.875335294  3532  0x1358e60 WARN           vdpaumpeg4dec
mpeg4/gstvdpmpeg4dec.c:196:gst_vdp_mpeg4_dec_handle_configuration: Skipping
frame since we're not configured yet
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data
flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop ():
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
streaming task paused, reason custom-error (-100)
Execution ended after 2126883001 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstVdpMpeg4Dec:vdpmpeg4dec0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...

i think the vdpau code expects the mpeg4 stream to be configured before any
frames are decoded. the warning suggests that the code would tolerate this
situation but right after the frame is consumed the custom flow error is
returned in gstvdpmpeg4dec.c.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list