This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

GStreamer issue playing OPUS audio with playbin2 pipeline

Hello,
 
We have a client SW that receive from a server OPUS packets that client should play.
The client is designed in Linux and use GStreamer playbin2 pipeline for this:
 
pipeline = gst_parse_launch ("playbin2 uri=appsrc:// ", NULL);
 
where the appsrc we fill with opus packets into a callback function that is called anytime player need data to play
 
g_signal_connect (pipeline, "source-setup", G_CALLBACK (need_data_cb), NULL);
 
static void need_data_cb(GstElement *appsrc, guint unused_size, gpointer user_data)
{
GstBuffer *buffer = gst_buffer_new_and_alloc(NETPKT_DATASIZE);
GstFlowReturn ret;
 

//the OPUS packets that come from server are stored into a fifo buffer from where we extract it and add in buffer
av_fifo_generic_read(netpkt_stream, buffer, NETPKT_TTLSIZE, av_fifo_cb);

//give to player the OPUS pack to play
g_signal_emit_by_name(appsrc, "push-buffer", buffer, &ret);


gst_buffer_unref (buffer);
id2play++;
if(ret != GST_FLOW_OK) {
g_main_loop_quit(loop);
}

}
 

The problem is that after exact 64 second the Sound stop(after playing certain number of OPUS packets).
Each opus packets have a duration of 177ms and is coded as OPUS bitrate 48000.
 
In Log I get this when it stop playing:
 

GStreamer-WARNING **: failed to create thread: Error creating thread: Resource temporarily unavailable   (client:17452): GStreamer-WARNING **: adding flushing pad 'src0' to running element 'multiqueue3612', you need to use gst_pad_set_active(pad,TRUE) before adding it.

 
I observed also the memmory used it increase by every packet played.
 
Can you help me with some hints what can I do or which is the cause of this behaviour?
 
The client code is designed like here
http://docs.gstreamer.com/display/GstSDK/Playback+tutorial+3%3A+Short-cutting+the+pipeline[^]

 
Tanks in advance
Robi