Decodebin and multiqueue

Duchassin Frederic duchassin at sefram.fr
Tue Feb 12 10:58:01 UTC 2019


Hello,


I try to use decodebin in my pipeline. I try to play mpeg2ts video with 
audio and video and that's why decodebin try to use multiqueue.

But i would like to set properties of this multiqueue (max-size* = 0) .

In order to achieve this i use a callback on "element added" on decodebin :


/* CallBack for new element created in Decodebin */
void gstImpl::cb_element_added_decodebin (GstBin *bin, GstElement 
*element, gpointer user_data)
{
     gchar * name = GST_OBJECT_NAME (element);
     gstImpl* pStreamObj = static_cast<gstImpl*>(user_data);

     bin = bin; //compiler happy !

     g_print ("DECODBIN element-added: %s\r\n", name);

     if (g_strrstr (name, "multiqueue"))
     {
       multiqueue = element;

       g_object_set(G_OBJECT(element), "max-size-buffers", (guint) 0, NULL);
       g_object_set(G_OBJECT(element), "max-size-bytes", (guint) 0, NULL);
       g_object_set(G_OBJECT(element), "max-size-time", (guint64) 0, NULL);
     }
}


If i read later these properties on my multiqueue, i can see that I 
don't have 0 on all.


       guint tmp1, tmp2;
       guint64 tmp3;

       g_object_get(G_OBJECT(multiqueue), "max-size-buffers", &tmp1, 
"max-size-bytes", &tmp2, "max-size-time", &tmp3, NULL);
       tmp1 = 1;


--> gives max-size-buffers=5 ; max-size-bytes=2097152; max-size-time=0;


Maybe decodebin already set these multiqueue's properties ??


BR


Frederic



More information about the gstreamer-devel mailing list