GStreamer clock only

I have tried to do this:

I have changed my approach and will play file locally using windows API, but the only problem i have is syncing it so I need gstreamer pipelines with clock only, I couldn’t find any way to do it. I don’t need synced playback just synced start playing.


GstClock* net_clock = gst_net_client_clock_new("net_clock", "", 8554, 0);
if (!GST_IS_CLOCK(net_clock)) {
    std::cerr << "Failed to connect to network clock" << std::endl;
    return -1;
gst_clock_wait_for_sync(net_clock, GST_CLOCK_TIME_NONE);


GstNetTimeProvider* net_time_provider = gst_net_time_provider_new(clock, "", 8554);
if (!net_time_provider) {
  std::cerr << "Failed to start network time provider" << std::endl;
  return -1;

You probably also want something like


and then distribute a common start_time (you can query the net clock for the current time and distribute that, or add a few hundred millisecs to it) to all the playback clients that are supposed to play in sync.

1 Like