How to synchronization A/V with two separated pipelines

jojo rjiejie at
Mon Jun 2 20:20:54 PDT 2014


My application module is two pipe in Android platform, have any good ideas or hints to sync A/V between pipes ?

one is audio(without any video data), and the other is video(without any audio data), like following :

pipe-1(audio without any video stream) launched with:

appsrc is-live=1 do-timestamp=0 caps=\"audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=115200\" 
name=\"appsrc\" ! queue ! " "audioconvert ! audioresample ! autoaudiosink name=\"audiosink\"

pipe-2(video, the "appsrc" just include h264 video data without audio stream) launched with:

playbin uri=appsrc://, and do some settings as following:

g_signal_connect (pipe-2, "source-setup", G_CALLBACK (stream_cb_source_setup), user_data);
gst_sink = gst_element_factory_make ("eglglessink", NULL);
g_object_set (pipe-2, "video-sink", gst_sink, NULL);
g_object_set (gst_sink, "qos", FALSE, "sync", FALSE, "max-lateness", (gint64)-1, NULL);

static void stream_cb_source_setup (GstElement *pipeline, GstElement *source, display_stream *st)
    gst_src_caps = "video/x-h264, width=1920, height=1080"
    gst_src = gst_object_ref (source);

    /* attr */
    g_object_set (gst_src, "is-live", TRUE, "do-timestamp", TRUE, "min-latency", 0, "max-bytes", 0, "block", FALSE, NULL);
    GstCaps *caps = gst_caps_from_string(gst_src_caps);
    g_object_set (gst_src, "caps", caps, NULL); 
    gst_caps_unref (caps);


Any helps are appreciated :)


- Jojo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list