hi, all , <div> i am setting up RTP streaming environment between a X86 server and a embedded system client, host app is VLC, and target/client is gst-launch, commands are following:</div><div> </div><div> HOST: </div>
<div> # vlc -vvv big_buck_bunny_480p_h264.mov --sout '#rtp{dst=<dst ip>, port=5004,sdp=rtsp://<server ip>:8080/test.sdp}'</div><div><br></div><div> Target/client:</div><div> # gst-launch udpsrc multicast-group=<server ip> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" port=5004 ! rtph264depay ! my-codec-hw ! my-render-hw"</div>
<div><br></div><div> the command works well, then i hope playbin2 creates hardware pipeline automatically, command line here:</div><div><br></div><div> # gst-launch playbin2 uri=rtsp://<server ip>:8080/test.sdp<br clear="all">
<br></div><div> it fails to play. btw : playbin2 works well with my optimized codec and render, i test it with command. (gst-launch playbin2 uri=file:///big_buck.mov ), it can find the right elements, such as "my-codec-hw" and "my-render-hw".</div>
<div> </div><div> then i dump the log of gst-launch , and find playbin2 not perform preroll for live streams, which cause full or real pipeline is not ready before getting GstSystemClock.</div><div> in fact, my optimized render can only use the specified clock provided with *_sink_provide_clock(), not GstSystemClock. so the pipeline hang even it links the optimized elements.</div>
<div><br></div><div> my question is that how can i tell playbin2 to use my provided clock for live pipeline? </div><div> if any misunderstanding , pls correct me. </div><div> </div><div> </div><div><br>
-- <br>It's not the things you do in life that you regret ,<br>but the things that you do not do<br>
</div>