[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