You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue only presents itself when running different pipelines, either in gstd or within an application. If using the same pipeline as when using a gst-launch-1.0 command or just one pipeline inside the application it doesn't happen due to both elements having the same time and no compensation being applied.
This issue can be reproduced with the following code:
#include <gst/gst.h>
int
main (int argc, char *argv[])
{
GstElement *pipeline1;
GstElement *pipeline2;
GstBus *bus;
GstMessage *msg;
/* Initialize GStreamer */
gst_init (&argc, &argv);
/* Build the pipeline */
pipeline1 =
gst_parse_launch
("videotestsrc ! identity silent=false ! interpipesink name=fullres sync=false async=false",
NULL);
pipeline2 =
gst_parse_launch
("interpipesrc listen-to=fullres stream-sync=compensate-ts ! queue ! fakesink sync=true async=false",
NULL);
/* Start playing */
gst_element_set_state (pipeline1, GST_STATE_PLAYING);
gst_element_set_state (pipeline2, GST_STATE_PLAYING);
/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline2);
msg =
gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
/* See next tutorial for proper error message handling/parsing */
if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
g_error ("An error occurred! Re-run with the GST_DEBUG=*:WARN environment "
"variable set for more details.");
}
/* Free resources */
gst_message_unref (msg);
gst_object_unref (bus);
gst_element_set_state (pipeline1, GST_STATE_NULL);
gst_element_set_state (pipeline2, GST_STATE_NULL);
gst_object_unref (pipeline1);
gst_object_unref (pipeline2);
return 0;
}
This issue only presents itself when running different pipelines, either in gstd or within an application. If using the same pipeline as when using a gst-launch-1.0 command or just one pipeline inside the application it doesn't happen due to both elements having the same time and no compensation being applied.
This issue can be reproduced with the following code:
The interpipesrc logs show the following:
The text was updated successfully, but these errors were encountered: