Video corruption in rtsp server with appsink->appsrc

Serj TorresSoldado torres.soldado at gmail.com
Mon Mar 28 20:50:23 UTC 2016


Hi All,

 I am doing a sink -> src push. The sink is in a separate pipeline and the
src is created by gst-rtsp-server when creating the media pipeline.

 I have tried both using a pull (need-data signal) and push (new-sample)
methods and the result is the same.

 I am copying the buffer from the sink to the source. I am setting the PTS
on the copied buffer otherwise after the first client disconnects I am
unable to connect again.

 GST_BUFFER_PTS(bufcpy) = client->timestamp_;
 client->timestamp_ += GST_BUFFER_DURATION(bufcpy);
 gst_app_src_push_buffer(client->appsrc_, bufcpy);

 When cofiguring the client I have "played" with the following appsrc
properties but they don't seem to make a difference:

  gst_util_set_object_arg(reinterpret_cast<GObject*>(appsrc.Get()),
"format", "time");
  g_object_set(reinterpret_cast<GObject*>(appsrc.Get()), "block", false,
nullptr);
  g_object_set(reinterpret_cast<GObject*>(appsrc.Get()), "is-live", true,
nullptr);
  g_object_set(reinterpret_cast<GObject*>(appsrc.Get()), "do-timestamp",
true, nullptr);
//  g_object_set(reinterpret_cast<GObject*>(appsrc.Get()), "stream-type",
"random-access", nullptr);
//  g_object_set(reinterpret_cast<GObject*>(appsrc.Get()), "max-bytes",
1000, nullptr);

Any help would be awesome, thanks.

Serj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160328/42025a83/attachment.html>


More information about the gstreamer-devel mailing list