Tee with three forks and two appsinks: last appsink doesn't callback

Dwight Kulkarni dwight at realtime-7.com
Tue Sep 14 14:43:04 UTC 2021


Hi all,

I am trying to setup a pipeline with tee that has three forks. One of the
forks is a jpegsink that I want to then access the image. Whereas the first
two forks are working the last one for jpegsink is not.

Here is what I do:

gst_init (0, NULL);
string pipeline = "v4l2src device=/dev/video1 ! video/x-raw, width=1920,
height=1080, framerate=15/1 ! vpuenc_h264 ! tee name=v ! queue ! h264parse
! appsink name=h264vid max-buffers=1 drop=true v. ! queue ! h264parse !
splitmuxsink name=filesink location=./videos/video%02d.mkv
max-size-time=10000000000 muxer-properties=\"properties,streamable=true\"
v. ! queue ! avdec_h264 ! jpegenc ! appsink name=jpegsink max-buffers=1
drop=true";
gstreamer_main_video_pipeline = gst_parse_launch(pipeline.c_str(),NULL);

GstElement * jpegsink =
gst_bin_get_by_name_recurse_up(GST_BIN(gstreamer_main_video_pipeline),
"jpegsink");

JpegContext* ctx = g_new0 (JpegContext, 1);
g_signal_connect (G_OBJECT(jpegsink), "new-sample", G_CALLBACK(new_sample),
ctx);


I never get the callback to new_sample, but the pipeline is running and
other two tee forks work properly.

Any help would be appreciated!

-- 
Sincerely,

Dwight Kulkarni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210914/234fa210/attachment-0001.htm>


More information about the gstreamer-devel mailing list