[Bug 794893] proxy: Setting the base_time for dynamically added pipelines does not work

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Apr 16 10:29:31 UTC 2018


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

--- Comment #2 from Carlos Rafael Giani <crg7475 at mailbox.org> ---
This discussed idea works:

"1. All pipelines should have gst_element_set_start_time (e, NONE) when 
   they are created. This will disable automatic distribution of 
   base_time when the pipeline goes from PAUSED -> PLAYING.
2. Need to store the base time of the pipeline that is started first 
   and is always running (in your case media_source with videotestsrc).
3. All pipelines added at a later time must be set to that same base 
   time so the running time of all pipelines is the same.

(2) and (3) mean the base time has to be initialized with appropriate
locking; perhaps guarded by a GOnce."

However, if I play the RTSP stream ( rtsp://127.0.0.1:1999/test ) with VLC,
this can cause the example to break. I sometimes see this:

0:00:15.951076143  7983 0x7fb9f00018a0 INFO                GST_PADS
gstpad.c:4189:gst_pad_peer_query:<udpsrc1:src> pad has no peer
0:00:15.951117442  7983 0x7fba00003850 INFO        GST_ELEMENT_PADS
gstelement.c:670:gst_element_add_pad:<funnel5> adding pad 'funnelpad3'
0:00:15.951117280  7983 0x7fb9f00018a0 INFO               GST_EVENT
gstevent.c:895:gst_event_new_segment: creating segment event time segment
start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999,
rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000,
base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:15.951133430  7983 0x7fba00003850 INFO        GST_ELEMENT_PADS
gstelement.c:920:gst_element_get_static_pad: found pad udpsrc1:src
0:00:15.951148020  7983 0x7fb9f00018a0 INFO                 basesrc
gstbasesrc.c:2945:gst_base_src_loop:<udpsrc1> marking pending DISCONT
0:00:15.951149671  7983 0x7fba00003850 INFO                GST_PADS
gstpad.c:2378:gst_pad_link_prepare: trying to link udpsrc1:src and
funnel5:funnelpad3
0:00:15.951157638  7983 0x7fb9f00018a0 INFO                 basesrc
gstbasesrc.c:2965:gst_base_src_loop:<udpsrc1> pausing after gst_pad_push() =
not-linked
0:00:15.951174967  7983 0x7fb9f00018a0 WARN                 basesrc
gstbasesrc.c:3055:gst_base_src_loop:<udpsrc1> error: Internal data stream
error.
0:00:15.951181742  7983 0x7fb9f00018a0 WARN                 basesrc
gstbasesrc.c:3055:gst_base_src_loop:<udpsrc1> error: streaming stopped, reason
not-linked (-1)

.....

0:00:15.952402510  7983 0x7fb9f00018a0 INFO        GST_ERROR_SYSTEM
gstelement.c:2145:gst_element_message_full_with_details:<udpsrc1> posting
message: Internal data stream error.
0:00:15.952429819  7983 0x7fb9f4001680 INFO              GST_STATES
gstbin.c:3422:bin_handle_async_done:<media-pipeline> committing state from
PAUSED to PAUSED, old pending PLAYING
0:00:15.952443576  7983 0x7fb9f4001680 INFO              GST_STATES
gstbin.c:3451:bin_handle_async_done:<media-pipeline> continue state change,
pending PLAYING
0:00:15.952438953  7983 0x7fb9f00019e0 INFO               rtspmedia
rtsp-media.c:2778:default_handle_message: 0x7fb9f000f220: got message type 16
(tag)
0:00:15.952459198  7983 0x7fb9f00018a0 INFO        GST_ERROR_SYSTEM
gstelement.c:2172:gst_element_message_full_with_details:<udpsrc1> posted error
message: Internal data stream error.
0:00:15.952454226  7983 0x7fb9f4001680 INFO              GST_STATES
gstelement.c:2579:_priv_gst_element_state_changed:<media-pipeline> notifying
about state-changed PAUSED to PAUSED (PLAYING pending)
0:00:15.952491419  7983 0x7fb9f00019e0 WARN               rtspmedia
rtsp-media.c:2720:default_handle_message: 0x7fb9f000f220: got error Internal
data stream error. (gstbasesrc.c(3055): gst_base_src_loop ():
/GstPipeline:media-pipeline/GstUDPSrc:udpsrc1:
streaming stopped, reason not-linked (-1))
0:00:15.952514914  7983 0x7fb9f00018a0 INFO               GST_EVENT
gstevent.c:814:gst_event_new_caps: creating caps event application/x-rtcp
0:00:15.952544689  7983 0x7fba00003850 WARN               rtspmedia
rtsp-media.c:3933:default_unsuspend: failed to preroll pipeline
0:00:15.952554440  7983 0x7fba00003850 WARN               rtspmedia
rtsp-media.c:3974:gst_rtsp_media_unsuspend: failed to unsuspend media
0x7fb9f000f220
0:00:15.952562849  7983 0x7fba00003850 ERROR             rtspclient
rtsp-client.c:1742:handle_play_request: client 0x7fba18026eb0: unsuspend failed
0:00:15.952586189  7983 0x7fb9f00018a0 INFO                    task
gsttask.c:316:gst_task_func:<udpsrc1:src> Task going to paused


Apparently, this affects the source pipeline as well, since subsequent playback
attempts (with VLC or gst-play) fail.

If I only use gst-play, this never happens.

-- 
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