#0 0x00007f5059b5c1c6 in gst_mini_object_replace (olddata=olddata@entry=0x40, newdata=0x0) at gstminiobject.c:497 492: 493: GST_CAT_TRACE (GST_CAT_REFCOUNTING, "replace %p (%d) with %p (%d)", 494: *olddata, *olddata ? (*olddata)->refcount : 0, 495: newdata, newdata ? newdata->refcount : 0); 496: 497: olddata_val = g_atomic_pointer_get ((gpointer *) olddata); 498: 499: if (G_UNLIKELY (olddata_val == newdata)) 500: return FALSE; 501: 502: if (newdata) #1 0x00007f5041911ba0 in gst_buffer_replace (nbuf=, obuf=0x40) at /usr/include/gstreamer-1.0/gst/gstbuffer.h:475 [Error: /usr/include/gstreamer-1.0/gst/gstbuffer.h was not found in source tree] #2 gst_ffmpegviddec_video_frame (ffmpegdec=ffmpegdec@entry=0x7f5030067710, data=, data@entry=0x7f50301b2730 "", size=, frame=frame@entry=0x7f5038094030, ret=ret@entry=0x7f504319631c) at gstavviddec.c:1229 [Error: gstavviddec.c was not found in source tree] #3 0x00007f5041912818 in gst_ffmpegviddec_frame (ffmpegdec=ffmpegdec@entry=0x7f5030067710, data=data@entry=0x7f50301b2730 "", size=size@entry=11080, got_data=got_data@entry=0x7f5043196318, frame=frame@entry=0x7f5038094030, ret=ret@entry=0x7f504319631c) at gstavviddec.c:1371 [Error: gstavviddec.c was not found in source tree] #4 0x00007f5041912eac in gst_ffmpegviddec_handle_frame (decoder=0x7f5030067710, frame=0x7f5038094030) at gstavviddec.c:1491 [Error: gstavviddec.c was not found in source tree] #5 0x00007f5049621a09 in gst_video_decoder_decode_frame (decoder=decoder@entry=0x7f5030067710, frame=0x7f5038094030) at gstvideodecoder.c:2832 [Error: gstvideodecoder.c was not found in source tree] #6 0x00007f5049621d6d in gst_video_decoder_chain_forward (decoder=decoder@entry=0x7f5030067710, buf=buf@entry=0x7f505d1ec620, at_eos=at_eos@entry=0) at gstvideodecoder.c:1757 [Error: gstvideodecoder.c was not found in source tree] #7 0x00007f5049623f6d in gst_video_decoder_chain (pad=, parent=0x7f5030067710, buf=0x7f505d1ec620) at gstvideodecoder.c:2037 [Error: gstvideodecoder.c was not found in source tree] #8 0x00007f5059b5fce8 in gst_pad_chain_data_unchecked (data=0x7f505d1ec620, type=, pad=0x7f5030068080) at gstpad.c:3760 3755: 3756: GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, 3757: "calling chainfunction &%s with buffer %" GST_PTR_FORMAT, 3758: GST_DEBUG_FUNCPTR_NAME (chainfunc), GST_BUFFER (data)); 3759: 3760: ret = chainfunc (pad, parent, GST_BUFFER_CAST (data)); 3761: 3762: GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, 3763: "called chainfunction &%s with buffer %p, returned %s", 3764: GST_DEBUG_FUNCPTR_NAME (chainfunc), data, gst_flow_get_name (ret)); 3765: } else { #9 gst_pad_push_data (pad=0x7f50380168e0, type=type@entry=4112, data=) at gstpad.c:3990 3985: /* take ref to peer pad before releasing the lock */ 3986: gst_object_ref (peer); 3987: pad->priv->using++; 3988: GST_OBJECT_UNLOCK (pad); 3989: 3990: ret = gst_pad_chain_data_unchecked (peer, type, data); 3991: 3992: gst_object_unref (peer); 3993: 3994: GST_OBJECT_LOCK (pad); 3995: pad->priv->using--; #10 0x00007f5059b66996 in gst_pad_push (pad=, buffer=) at gstpad.c:4093 4088: { 4089: g_return_val_if_fail (GST_IS_PAD (pad), GST_FLOW_ERROR); 4090: g_return_val_if_fail (GST_PAD_IS_SRC (pad), GST_FLOW_ERROR); 4091: g_return_val_if_fail (GST_IS_BUFFER (buffer), GST_FLOW_ERROR); 4092: 4093: return gst_pad_push_data (pad, 4094: GST_PAD_PROBE_TYPE_BUFFER | GST_PAD_PROBE_TYPE_PUSH, buffer); 4095: } 4096: 4097: /** 4098: * gst_pad_push_list: #11 0x00007f5053ebb299 in gst_base_transform_chain (pad=, parent=0x7f5038026130, buffer=) at gstbasetransform.c:2237 2232: } 2233: priv->discont = FALSE; 2234: } 2235: priv->processed++; 2236: 2237: ret = gst_pad_push (trans->srcpad, outbuf); 2238: } else { 2239: GST_DEBUG_OBJECT (trans, "we got return %s", gst_flow_get_name (ret)); 2240: gst_buffer_unref (outbuf); 2241: } 2242: } #12 0x00007f5059b5fce8 in gst_pad_chain_data_unchecked (data=0x7f505d1ec620, type=, pad=0x7f50380166b0) at gstpad.c:3760 3755: 3756: GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, 3757: "calling chainfunction &%s with buffer %" GST_PTR_FORMAT, 3758: GST_DEBUG_FUNCPTR_NAME (chainfunc), GST_BUFFER (data)); 3759: 3760: ret = chainfunc (pad, parent, GST_BUFFER_CAST (data)); 3761: 3762: GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, 3763: "called chainfunction &%s with buffer %p, returned %s", 3764: GST_DEBUG_FUNCPTR_NAME (chainfunc), data, gst_flow_get_name (ret)); 3765: } else { #13 gst_pad_push_data (pad=0x7f5038016480, type=type@entry=4112, data=, data@entry=0x7f505d1ec620) at gstpad.c:3990 3985: /* take ref to peer pad before releasing the lock */ 3986: gst_object_ref (peer); 3987: pad->priv->using++; 3988: GST_OBJECT_UNLOCK (pad); 3989: 3990: ret = gst_pad_chain_data_unchecked (peer, type, data); 3991: 3992: gst_object_unref (peer); 3993: 3994: GST_OBJECT_LOCK (pad); 3995: pad->priv->using--; #14 0x00007f5059b66996 in gst_pad_push (pad=, buffer=buffer@entry=0x7f505d1ec620) at gstpad.c:4093 4088: { 4089: g_return_val_if_fail (GST_IS_PAD (pad), GST_FLOW_ERROR); 4090: g_return_val_if_fail (GST_PAD_IS_SRC (pad), GST_FLOW_ERROR); 4091: g_return_val_if_fail (GST_IS_BUFFER (buffer), GST_FLOW_ERROR); 4092: 4093: return gst_pad_push_data (pad, 4094: GST_PAD_PROBE_TYPE_BUFFER | GST_PAD_PROBE_TYPE_PUSH, buffer); 4095: } 4096: 4097: /** 4098: * gst_pad_push_list: #15 0x00007f5053e9db09 in gst_base_parse_push_frame (parse=parse@entry=0x7f503801feb0, frame=frame@entry=0x7f5043196970) at gstbaseparse.c:2299 2294: ret = GST_FLOW_OK; 2295: } else if (ret == GST_FLOW_OK) { 2296: if (parse->segment.rate > 0.0) { 2297: GST_LOG_OBJECT (parse, "pushing frame (%" G_GSIZE_FORMAT " bytes) now..", 2298: size); 2299: ret = gst_pad_push (parse->srcpad, buffer); 2300: GST_LOG_OBJECT (parse, "frame pushed, flow %s", gst_flow_get_name (ret)); 2301: } else if (!parse->priv->disable_passthrough && parse->priv->passthrough) { 2302: 2303: /* in backwards playback mode, if on passthrough we need to push buffers 2304: * directly without accumulating them into the buffers_queued as baseparse #16 0x00007f5053e9e510 in gst_base_parse_chain (pad=, parent=0x7f503801feb0, buffer=0x7f505d1ec620) at gstbaseparse.c:2805 2800: && parse->priv->passthrough)) { 2801: GstBaseParseFrame frame; 2802: 2803: gst_base_parse_frame_init (&frame); 2804: frame.buffer = gst_buffer_make_writable (buffer); 2805: ret = gst_base_parse_push_frame (parse, &frame); 2806: gst_base_parse_frame_free (&frame); 2807: return ret; 2808: } 2809: /* upstream feeding us in reverse playback; 2810: * finish previous fragment and start new upon DISCONT */ #17 0x00007f5059b5fce8 in gst_pad_chain_data_unchecked (data=0x7f505d1ec620, type=, pad=0x7f5038016250) at gstpad.c:3760 3755: 3756: GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, 3757: "calling chainfunction &%s with buffer %" GST_PTR_FORMAT, 3758: GST_DEBUG_FUNCPTR_NAME (chainfunc), GST_BUFFER (data)); 3759: 3760: ret = chainfunc (pad, parent, GST_BUFFER_CAST (data)); 3761: 3762: GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, 3763: "called chainfunction &%s with buffer %p, returned %s", 3764: GST_DEBUG_FUNCPTR_NAME (chainfunc), data, gst_flow_get_name (ret)); 3765: } else { #18 gst_pad_push_data (pad=0x7f5038016020, type=type@entry=4112, data=, data@entry=0x7f505d1ec620) at gstpad.c:3990 3985: /* take ref to peer pad before releasing the lock */ 3986: gst_object_ref (peer); 3987: pad->priv->using++; 3988: GST_OBJECT_UNLOCK (pad); 3989: 3990: ret = gst_pad_chain_data_unchecked (peer, type, data); 3991: 3992: gst_object_unref (peer); 3993: 3994: GST_OBJECT_LOCK (pad); 3995: pad->priv->using--; #19 0x00007f5059b66996 in gst_pad_push (pad=, buffer=buffer@entry=0x7f505d1ec620) at gstpad.c:4093 4088: { 4089: g_return_val_if_fail (GST_IS_PAD (pad), GST_FLOW_ERROR); 4090: g_return_val_if_fail (GST_PAD_IS_SRC (pad), GST_FLOW_ERROR); 4091: g_return_val_if_fail (GST_IS_BUFFER (buffer), GST_FLOW_ERROR); 4092: 4093: return gst_pad_push_data (pad, 4094: GST_PAD_PROBE_TYPE_BUFFER | GST_PAD_PROBE_TYPE_PUSH, buffer); 4095: } 4096: 4097: /** 4098: * gst_pad_push_list: #20 0x00007f504915ca23 in gst_single_queue_push_one (object=0x7f505d1ec620, sq=0x7f50380199b0, mq=0x7f503801a070) at gstmultiqueue.c:1089 1084: 1085: GST_DEBUG_OBJECT (mq, 1086: "SingleQueue %d : Pushing buffer %p with ts %" GST_TIME_FORMAT, 1087: sq->id, buffer, GST_TIME_ARGS (timestamp)); 1088: 1089: result = gst_pad_push (sq->srcpad, buffer); 1090: } else if (GST_IS_EVENT (object)) { 1091: GstEvent *event; 1092: 1093: event = GST_EVENT_CAST (object); 1094: #21 gst_multi_queue_loop (pad=) at gstmultiqueue.c:1338 1333: } 1334: } 1335: GST_MULTI_QUEUE_MUTEX_UNLOCK (mq); 1336: 1337: /* Try to push out the new object */ 1338: result = gst_single_queue_push_one (mq, sq, object); 1339: object = NULL; 1340: 1341: /* Check if we pushed something already and if this is 1342: * now a switch from an active to a non-active stream. 1343: * #22 0x00007f5059b8d4e9 in gst_task_func (task=0x7f505d35cb90) at gsttask.c:316 311: } 312: } 313: GST_OBJECT_UNLOCK (task); 314: } 315: 316: task->func (task->user_data); 317: } 318: done: 319: g_rec_mutex_unlock (lock); 320: 321: GST_OBJECT_LOCK (task); #23 0x00007f505961489c in g_thread_pool_thread_proxy (data=) at /build/buildd/glib2.0-2.39.91/./glib/gthreadpool.c:307 [Error: /build/buildd/glib2.0-2.39.91/./glib/gthreadpool.c was not found in source tree] #24 0x00007f5059613f15 in g_thread_proxy (data=0x7f5038013c50) at /build/buildd/glib2.0-2.39.91/./glib/gthread.c:764 [Error: /build/buildd/glib2.0-2.39.91/./glib/gthread.c was not found in source tree] #25 0x00007f505908a182 in start_thread (arg=0x7f5043197700) at pthread_create.c:312 [Error: pthread_create.c was not found in source tree] #26 0x00007f5058db712d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 [Error: ../sysdeps/unix/sysv/linux/x86_64/clone.S was not found in source tree]