Rewind filesrc using bytes

uma u.umasankar at gmail.com
Fri Apr 7 18:19:32 UTC 2017


Hi I am using pcapparse to play out RTP stream from a pcap file and I try to
rewind it on keyframe requests but I have to do it in BYTES format otherwise
pcapparse is unhappy. All of this works but when it rewinds the RTP
timestamp also goes back in time

The pipeline is something like this
rtpbin name=rtpbin srtpenc name=srtpenc filesrc location=apcapfile.pcap
name=vidsource ! identity single-segment=true ! pcapparse name=pcapparse
update-offset=1 ! application/x-rtp,clock-rate=90000 !  rtph264depay !
video/x-h264, profile=baseline, stream-format=byte-stream,alignment=au !
rtph264pay pt=112 mtu=1500   ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0
! srtpenc.rtp_sink_0 srtpenc.rtp_src_0 ! multisocketudpsink name=videosink
rtpbin.send_rtcp_src_0 ! rtcp_mux.sink_0 funnel name=rtcp_mux
forward-sticky-events=false ! srtpenc.rtcp_sink_0 srtpenc.rtcp_src_0 !
multisocketudpsink name=rtcpsink sync=false async=false appsrc
name=videortcptx_appsrc is-live=true do-timestamp=true format=time !
rtcp_mux.sink_1

The rewind is done by
element.seek(1.0, Gst.Format.BYTES, Gst.SeekFlags.FLUSH |
Gst.SeekFlags.SEGMENT,
                    Gst.SeekType.SET, 0, Gst.SeekType.NONE, 0)

and the pad probe is
element.seek(1.0, Gst.Format.BYTES, Gst.SeekFlags.SEGMENT, Gst.SeekType.SET,
24, SeekType.NONE, 0)

element being filesrc

On keyframe requests I see the RTP timestamp going backwards which is
causing problem

I even tried the identity element in the pipeline as suggested in
http://gstreamer-devel.966125.n4.nabble.com/Problem-using-gnlcomposition-td1690011.html#a1690011

That didn't help. Any suggestions is appreciated.



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Rewind-filesrc-using-bytes-tp4682582.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list