GstMemory replacement orphaning externally supplied buffers wrapped in GstMemory objects

Robert Krakora rob.krakora at messagenetsystems.com
Thu Aug 15 04:14:24 PDT 2013


Hello,

So, I was able to "fix" an issue with v4l2src UVC driver allocated buffers
being replaced by the GstBuffer API with the patch below which "puts back"
the UVC driver allocated buffers to the GstBuffers in which they were
initially placed when allocated and wrapped in a GstMemory object.

diff -rupN gst-plugins-good-1.1.3/sys/v4l2/gstv4l2bufferpool.c
gst-plugins-good-1.1.3.new/sys/v4l2/gstv4l2bufferpool.c
--- gst-plugins-good-1.1.3/sys/v4l2/gstv4l2bufferpool.c 2013-07-08
10:27:16.000000000 -0400
+++ gst-plugins-good-1.1.3.new/sys/v4l2/gstv4l2bufferpool.c 2013-08-14
17:21:42.801320440 -0400
@@ -678,6 +678,12 @@ gst_v4l2_buffer_pool_qbuf (GstV4l2Buffer
   if (v4l2_ioctl (pool->video_fd, VIDIOC_QBUF, &meta->vbuffer) < 0)
     goto queue_failed;

+  /* Memory may have been replaced in GstBuffer so put it back using meta
cookie */
+  gst_buffer_replace_memory (buf, 0,
+    gst_memory_new_wrapped (GST_MEMORY_FLAG_NO_SHARE,
+        meta->mem, meta->vbuffer.length, 0, meta->vbuffer.length, NULL,
+        NULL));
+
   pool->buffers[index] = buf;
   pool->num_queued++;

Best Regards,

Rob Krakora



On Mon, Aug 12, 2013 at 9:09 AM, Robert Krakora <
rob.krakora at messagenetsystems.com> wrote:

> Hello,
>
> I have found that the UVC driver allocated buffers previously wrapped in a
> GstMemory object by v4l2src and appended to a GstBuffer can get orphaned
> via memory replacement in gst_buffer_resize() called in v4l2src (have logs
> to back this up) and gst_buffer_map_range() which is called by
> gst_buffer_map() which is in turn called from uvch264src.  There has to be
> a way to wrap the driver allocated buffers in a GstMemory object without
> the possibility of them being orphaned.  GstMemory has no knowledge of
> externally supplied buffers that I can see.  It has a function to wrap them
> though.  Should there not be a flag resident in the object that denotes it
> as wrapped or not and if wrapped not to attempt memory replacement?
>
> Best Regards,
>
> Rob Krakora
>
> /**
>  * gst_buffer_map_range:
>  * @buffer: a #GstBuffer.
>  * @idx: an index
>  * @length: a length
>  * @info: (out): info about the mapping
>  * @flags: flags for the mapping
>  *
>  * This function fills @info with the #GstMapInfo of @length merged memory
> blocks
>  * starting at @idx in @buffer. When @length is -1, all memory blocks
> starting
>  * from @idx are merged and mapped.
>  *
>  * @flags describe the desired access of the memory. When @flags is
>  * #GST_MAP_WRITE, @buffer should be writable (as returned from
>  * gst_buffer_is_writable()).
>  *
>  * When @buffer is writable but the memory isn't, a writable copy will
>  * automatically be created and returned. The readonly copy of the buffer
> memory
>  * will then also be replaced with this writable copy.
>  *
>  * The memory in @info should be unmapped with gst_buffer_unmap() after
> usage.
>  *
>  * Returns: %TRUE if the map succeeded and @info contains valid
>  * data.
>  */
> gboolean
> gst_buffer_map_range (GstBuffer * buffer, guint idx, gint length,
>     GstMapInfo * info, GstMapFlags flags)
> {
>   GstMemory *mem, *nmem;
>   gboolean write, writable;
>   gsize len;
>
>   g_return_val_if_fail (GST_IS_BUFFER (buffer), FALSE);
>   g_return_val_if_fail (info != NULL, FALSE);
>   len = GST_BUFFER_MEM_LEN (buffer);
>   g_return_val_if_fail ((len == 0 && idx == 0 && length == -1) ||
>       (length == -1 && idx < len) || (length > 0
>           && length + idx <= len), FALSE);
>
>   GST_CAT_LOG (GST_CAT_BUFFER, "buffer %p, idx %u, length %d, flags %04x",
>       buffer, idx, length, flags);
>
>   write = (flags & GST_MAP_WRITE) != 0;
>   writable = gst_buffer_is_writable (buffer);
>
>   /* check if we can write when asked for write access */
>   if (G_UNLIKELY (write && !writable))
>     goto not_writable;
>
>   if (length == -1)
>     length = len - idx;
>
>   GST_CAT_DEBUG (GST_CAT_BUFFER, "len %u, idx %u, length %d", len, idx,
> length);
>
>   mem = _get_merged_memory (buffer, idx, length);
>   if (G_UNLIKELY (mem == NULL))
>     goto no_memory;
>
>   /* now try to map */
>   nmem = gst_memory_make_mapped (mem, info, flags);
>   if (G_UNLIKELY (nmem == NULL))
>     goto cannot_map;
>
>   /* if we merged or when the map returned a different memory, we try to
> replace
>    * the memory in the buffer */
>   if (G_UNLIKELY (length > 1 || nmem != mem)) {
>     /* if the buffer is writable, replace the memory */
>     if (writable) {
>       _replace_memory (buffer, len, idx, length, gst_memory_ref (nmem));
>     } else {
>       if (len > 1) {
>         GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
>             "temporary mapping for memory %p in buffer %p", nmem, buffer);
>       }
>     }
>   }
>   return TRUE;
>
>   /* ERROR */
> not_writable:
>   {
>     GST_WARNING_OBJECT (buffer, "write map requested on non-writable
> buffer");
>     g_critical ("write map requested on non-writable buffer");
>     return FALSE;
>   }
> no_memory:
>   {
>     /* empty buffer, we need to return NULL */
>     GST_DEBUG_OBJECT (buffer, "can't get buffer memory");
>     info->memory = NULL;
>     info->data = NULL;
>     info->size = 0;
>     info->maxsize = 0;
>     return TRUE;
>   }
> cannot_map:
>   {
>     GST_DEBUG_OBJECT (buffer, "cannot map memory");
>     return FALSE;
>   }
> }
>
>
> On Sat, Aug 10, 2013 at 10:24 PM, Robert Krakora <
> rob.krakora at messagenetsystems.com> wrote:
>
>> Hi Peter,
>>
>> I attached two patches which are "hacks" to this bug
>> https://bugzilla.gnome.org/show_bug.cgi?id=699517, one for
>> gst-plugins-good-1.1.3 and one for gst-plugins-bad-1.1.3.  This bug needs a
>> proper fix though.
>>
>> Best Regards,
>>
>> Rob
>>
>>
>>
>> On Thu, Jul 11, 2013 at 11:55 AM, Robert Krakora <
>> rob.krakora at messagenetsystems.com> wrote:
>>
>>> I filed a bug report for this a couple of months ago.  Myself and
>>> another engineer struggled with this error for a few weeks.  This plugin
>>> works fine on GStreamer 0.10.  I think that it has something to do with
>>> v4l2src on GStreamer 1.x.  I know I saw  that there was an open issue that
>>> Wim and others have been struggling to solve.  They may be related...
>>>
>>>
>>> On Thu, Jul 11, 2013 at 11:51 AM, Peter Rennert <p.rennert at cs.ucl.ac.uk>wrote:
>>>
>>>> I just want to add that I get the same problem even with a very reduced
>>>> pipeline of:
>>>>
>>>> gst-launch-1.0 uvch264src device=/dev/video1 name=src auto-start=true
>>>> src.vfsrc ! queue ! fakesink src.vidsrc ! queue ! video/x-h264 ! fakesink
>>>>
>>>>
>>>> ........
>>>>
>>>> (gst-launch-1.0:5463): GStreamer-WARNING **:
>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<fakesink1:**sink> Got
>>>> data flow before segment event
>>>>
>>>> (gst-launch-1.0:5463): GStreamer-WARNING **: gstpad.c:3923:gst_pad_push_
>>>> **data:<capsfilter0:src> Got data flow before segment event
>>>>
>>>> (gst-launch-1.0:5463): GStreamer-WARNING **:
>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<fakesink1:**sink> Got
>>>> data flow before segment event
>>>> ERROR: from element /GstPipeline:pipeline0/**GstUvcH264Src:src/**
>>>> GstUvcH264MjpgDemux:**uvch264mjpgdemux0: Not enough data to read
>>>> marker content
>>>> Additional debug info:
>>>> gstuvch264_mjpgdemux.c(507): gst_uvc_h264_mjpg_demux_chain ():
>>>> /GstPipeline:pipeline0/**GstUvcH264Src:src/**GstUvcH264MjpgDemux:**
>>>> uvch264mjpgdemux0
>>>> Execution ended after 0:00:34.640728375
>>>> Setting pipeline to PAUSED ...
>>>> Setting pipeline to READY ...
>>>> Setting pipeline to NULL ...
>>>> Freeing pipeline .
>>>>
>>>> On 07/11/2013 04:23 PM, Peter Rennert wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I am trying to get the uvch264src to work in gstreamer 1.1.1.1 (git
>>>>> head compiled yesterday) with the following pipeline:
>>>>>
>>>>> gst-launch-1.0 uvch264src device=/dev/video1 name=src auto-start=true
>>>>> src.vfsrc ! queue ! video/x-raw,width=320,height=**
>>>>> 240,format="YUY2",framerate=**15/1 ! xvimagesink src.vidsrc ! queue !
>>>>> video/x-h264,width=1920,**height=1080,framerate=30/1,**profile=constrained-baseline
>>>>> ! h264parse ! avdec_h264 ! xvimagesink
>>>>>
>>>>> It runs as expected (showing both the 1920x1080 and 320x240 windows).
>>>>> But it constantly prints warnings (see below). Then stops it . You can find
>>>>> the GST_DEBUG output below the warnings below.
>>>>>
>>>>> It works stable with gstreamer 0.10 (an older compilation) and
>>>>>
>>>>> gst-launch uvch264_src device=/dev/video1 name=src auto-start=true
>>>>> src.vfsrc ! queue ! video/x-raw-yuv,width=320,**height=240,framerate=15/1
>>>>> ! xvimagesink src.vidsrc ! queue ! video/x-h264,width=1920,**
>>>>> height=1080,framerate=30/1,**profile=constrained-baseline ! h264parse
>>>>> ! ffdec_h264 ! xvimagesink
>>>>>
>>>>> I am using a C920.
>>>>>
>>>>> I found a (probably) related problem here:
>>>>> http://comments.gmane.org/**gmane.comp.video.gstreamer.**bugs/107399<http://comments.gmane.org/gmane.comp.video.gstreamer.bugs/107399>
>>>>>
>>>>>
>>>>> Do I do something wrong in gstreamer 1 or is this a bug?
>>>>>
>>>>> -----------------
>>>>>
>>>>> Warnings (i get loads of them, this is just an excerpt):
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<capsfilter1:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<h264parse0:**sink> Got
>>>>> data flow before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<h264parse0:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<avdec_h264-0:**sink>
>>>>> Got data flow before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<capsfilter0:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<xvimagesink0:**sink>
>>>>> Got data flow before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<capsfilter1:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<h264parse0:**sink> Got
>>>>> data flow before segment event
>>>>>
>>>>> (gst-launch-1.0:2962): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<h264parse0:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> ==============================**==============================**======
>>>>>
>>>>> GST_DEBUG=5 :
>>>>>
>>>>> (only the interesting bit, shortly before the error gets reported
>>>>> until the moment the error gets reported)
>>>>>
>>>>> 0:00:35.394998922  3694      0x1e171e0 DEBUG GST_CLOCK
>>>>> gstclock.c:922:gst_clock_get_**internal_time:<GstSystemClock>
>>>>> internal time 26:55:06.762023021
>>>>> 0:00:35.395022245  3694      0x1e171e0 DEBUG GST_CLOCK
>>>>> gstclock.c:967:gst_clock_get_**time:<GstSystemClock> adjusted time
>>>>> 26:55:06.762023021
>>>>> 0:00:35.395034653  3694      0x1e171e0 DEBUG v4l2src
>>>>> gstv4l2src.c:823:gst_v4l2src_**fill:<v4l2src0> ts: 26:55:06.771552000
>>>>> now 26:55:06.762058860 delay 0:00:00.000000000
>>>>> 0:00:35.395050068  3694      0x1e171e0 INFO v4l2src
>>>>> gstv4l2src.c:861:gst_v4l2src_**fill:<v4l2src0> sync to
>>>>> 0:00:34.433332989 out ts 0:00:34.768634907
>>>>> 0:00:35.395062230  3694      0x1e171e0 DEBUG basesrc
>>>>> gstbasesrc.c:2216:gst_base_**src_do_sync:<v4l2src0> no sync needed
>>>>> 0:00:35.395069279  3694      0x1e171e0 DEBUG basesrc
>>>>> gstbasesrc.c:2414:gst_base_**src_get_range:<v4l2src0> buffer ok
>>>>> 0:00:35.395080250  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:1958:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> handling buffer 0x1de7720 of size 166785 and offset 1032
>>>>> 0:00:35.395090539  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2042:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> calling prepare buffer
>>>>> 0:00:35.395099383  3694      0x1e171e0 DEBUG GST_CAPS
>>>>> gstpad.c:2408:gst_pad_has_**current_caps:<capsfilter5:**sink> check
>>>>> current pad caps image/jpeg, width=(int)320, height=(int)240,
>>>>> pixel-aspect-ratio=(fraction)**1/1, framerate=(fraction)30/1
>>>>> 0:00:35.395123772  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2049:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> using allocated buffer in 0x1de7720, out 0x1de7720
>>>>> 0:00:35.395131630  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2066:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> doing inplace transform
>>>>> 0:00:35.395150881  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:513:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Found APP4 marker (12215). JPG: 0-8 - APP4: 8 - 12225
>>>>> 0:00:35.395163919  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f77291e63d0,
>>>>> maxsize:1440014 offset:0 size:8
>>>>> 0:00:35.395174000  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f7728009720 -> 0x7f77291e63d0
>>>>> 0:00:35.395566373  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:550:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> New auxiliary stream : v1 - 22 bytes - H264 1920x1080 -- 333333 *100ns --
>>>>> 27 ms -- 56960032
>>>>> 0:00:35.395589065  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:552:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Auxiliary stream size : 12187 bytes
>>>>> 0:00:35.395598711  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7728587db0,
>>>>> maxsize:1440014 offset:38 size:12187
>>>>> 0:00:35.395609310  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f7728009720 -> 0x7f7728587db0
>>>>> 0:00:35.395854659  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:659:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Pushing H264 auxiliary buffer video/x-h264, width=(int)1920,
>>>>> height=(int)1080, framerate=(fraction)30/1
>>>>> 0:00:35.395885190  3694      0x1e171e0 DEBUG GST_PADS
>>>>> gstpad.c:3224:do_probe_**callbacks:<src:vidsrc> data is passed
>>>>> 0:00:35.395901512  3694      0x1e171e0 DEBUG GST_PADS
>>>>> gstpad.c:3088:probe_hook_**marshal:<src:vidsrc> probe returned OK
>>>>> 0:00:35.395918777  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:513:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Found APP4 marker (65533). JPG: 12225-12225 - APP4: 12225 - 77760
>>>>> 0:00:35.395929092  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:550:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> New auxiliary stream : v1 - 22 bytes - YUY2 320x240 -- 333333 *100ns -- 27
>>>>> ms -- 56960032
>>>>> 0:00:35.395940742  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:552:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Auxiliary stream size : 153600 bytes
>>>>> 0:00:35.396005741  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7728c67d10,
>>>>> maxsize:1440014 offset:12255 size:65505
>>>>> 0:00:35.395934221  3694      0x1e2b0a0 DEBUG queue_dataflow
>>>>> gstqueue.c:1240:gst_queue_**loop:<queue1> queue is not empty
>>>>> 0:00:35.396055314  3694      0x1e2b0a0 DEBUG basetransform
>>>>> gstbasetransform.c:1962:gst_**base_transform_handle_buffer:<**capsfilter1>
>>>>> handling buffer 0x7f77380050b0 of size 12187 and offset NONE
>>>>> 0:00:35.396076643  3694      0x1e2b0a0 DEBUG basetransform
>>>>> gstbasetransform.c:2042:gst_**base_transform_handle_buffer:<**capsfilter1>
>>>>> calling prepare buffer
>>>>> 0:00:35.396089336  3694      0x1e2b0a0 DEBUG GST_CAPS
>>>>> gstpad.c:2408:gst_pad_has_**current_caps:<capsfilter1:**sink> check
>>>>> current pad caps video/x-h264, width=(int)1920, height=(int)1080,
>>>>> framerate=(fraction)30/1
>>>>> 0:00:35.396116373  3694      0x1e2b0a0 DEBUG basetransform
>>>>> gstbasetransform.c:2049:gst_**base_transform_handle_buffer:<**capsfilter1>
>>>>> using allocated buffer in 0x7f77380050b0, out 0x7f77380050b0
>>>>> 0:00:35.396128931  3694      0x1e2b0a0 DEBUG basetransform
>>>>> gstbasetransform.c:2066:gst_**base_transform_handle_buffer:<**capsfilter1>
>>>>> doing inplace transform
>>>>>
>>>>> (gst-launch-1.0:3694): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<capsfilter1:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> (gst-launch-1.0:3694): GStreamer-WARNING **:
>>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<h264parse0:**sink> Got
>>>>> data flow before segment event
>>>>> 0:00:35.396169900  3694      0x1e2b0a0 DEBUG GST_CAPS
>>>>> gstpad.c:2408:gst_pad_has_**current_caps:<h264parse0:src> check
>>>>> current pad caps video/x-h264, width=(int)1920, height=(int)1080,
>>>>> framerate=(fraction)30/1, profile=(string)constrained-**baseline,
>>>>> parsed=(boolean)true, stream-format=(string)byte-**stream,
>>>>> alignment=(string)au
>>>>> 0:00:35.396202328  3694      0x1e2b0a0 DEBUG h264parse
>>>>> gsth264parse.c:165:gst_h264_**parse_reset_frame:<h264parse0> reset
>>>>> frame
>>>>>
>>>>> (gst-launch-1.0:3694): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<h264parse0:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> (gst-launch-1.0:3694): GStreamer-WARNING **:
>>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<avdec_h264-0:**sink>
>>>>> Got data flow before segment event
>>>>> 0:00:35.396241398  3694      0x1e2b0a0 DEBUG default
>>>>> gstsegment.c:481:gst_segment_**to_running_time: invalid position (-1)
>>>>> 0:00:35.396281397  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:935:gst_**ffmpegviddec_do_qos:<avdec_**h264-0> decoding
>>>>> time 2562047:47:16.854775807
>>>>> 0:00:35.396314138  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:1100:gst_**ffmpegviddec_video_frame:<**avdec_h264-0>
>>>>> stored opaque values idx 1032
>>>>> 0:00:35.396349848  3694      0x1e2b0a0 DEBUG libav :0:: Frame num gap
>>>>> 60 58
>>>>> 0:00:35.396378922  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:704:gst_**ffmpegviddec_release_buffer:<**avdec_h264-0>
>>>>> release frame 1030
>>>>> 0:00:35.396414061  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:538:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> getting buffer picture 0x7f773c726040
>>>>> 0:00:35.396437146  3694      0x1e2b0a0 DEBUG videodecoder
>>>>> gstvideodecoder.c:2883:gst_**video_decoder_get_frame:<**avdec_h264-0>
>>>>> frame_number : 1032
>>>>> 0:00:35.396466024  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:557:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> storing opaque 0x7f77300c4130
>>>>> 0:00:35.397593960  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:704:gst_**ffmpegviddec_release_buffer:<**avdec_h264-0>
>>>>> release frame 1031
>>>>> 0:00:35.397631322  3694      0x1e2b0a0 DEBUG default
>>>>> gstvideoutils.c:40:_gst_video_**codec_frame_free: free frame
>>>>> 0x7f7728848080
>>>>> 0:00:35.397643694  3694      0x1e2b0a0 DEBUG GST_MEMORY
>>>>> gstmemory.c:88:_gst_memory_**free: free memory 0x7f7728849000
>>>>> 0:00:35.397666794  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:538:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> getting buffer picture 0x7f773c7264c0
>>>>> 0:00:35.398284117  3694      0x1e2b0a0 DEBUG videodecoder
>>>>> gstvideodecoder.c:2883:gst_**video_decoder_get_frame:<**avdec_h264-0>
>>>>> frame_number : 1032
>>>>> 0:00:35.398304138  3694      0x1e2b0a0 WARN libav
>>>>> gstavviddec.c:632:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> already alloc'ed output buffer for frame
>>>>> 0:00:35.398316802  3694      0x1e2b0a0 ERROR libav :0:: get_buffer()
>>>>> failed (-1 2 (nil))
>>>>> 0:00:35.398331690  3694      0x1e2b0a0 ERROR libav :0::
>>>>> decode_slice_header error
>>>>> 0:00:35.398348752  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:538:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> getting buffer picture 0x7f773c7264c0
>>>>> 0:00:35.398356353  3694      0x1e2b0a0 DEBUG videodecoder
>>>>> gstvideodecoder.c:2883:gst_**video_decoder_get_frame:<**avdec_h264-0>
>>>>> frame_number : 1032
>>>>> 0:00:35.398363340  3694      0x1e2b0a0 WARN libav
>>>>> gstavviddec.c:632:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> already alloc'ed output buffer for frame
>>>>> 0:00:35.398370450  3694      0x1e2b0a0 ERROR libav :0:: get_buffer()
>>>>> failed (-1 2 (nil))
>>>>> 0:00:35.398377837  3694      0x1e2b0a0 ERROR libav :0::
>>>>> decode_slice_header error
>>>>> 0:00:35.398386031  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:538:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> getting buffer picture 0x7f773c7264c0
>>>>> 0:00:35.398392697  3694      0x1e2b0a0 DEBUG videodecoder
>>>>> gstvideodecoder.c:2883:gst_**video_decoder_get_frame:<**avdec_h264-0>
>>>>> frame_number : 1032
>>>>> 0:00:35.398399053  3694      0x1e2b0a0 WARN libav
>>>>> gstavviddec.c:632:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> already alloc'ed output buffer for frame
>>>>> 0:00:35.398404717  3694      0x1e2b0a0 ERROR libav :0:: get_buffer()
>>>>> failed (-1 2 (nil))
>>>>> 0:00:35.398411627  3694      0x1e2b0a0 ERROR libav :0::
>>>>> decode_slice_header error
>>>>> 0:00:35.398418838  3694      0x1e2b0a0 DEBUG libav
>>>>> gstavviddec.c:538:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> getting buffer picture 0x7f773c7264c0
>>>>> 0:00:35.398425798  3694      0x1e2b0a0 DEBUG videodecoder
>>>>> gstvideodecoder.c:2883:gst_**video_decoder_get_frame:<**avdec_h264-0>
>>>>> frame_number : 1032
>>>>> 0:00:35.398432465  3694      0x1e2b0a0 WARN libav
>>>>> gstavviddec.c:632:gst_**ffmpegviddec_get_buffer:<**avdec_h264-0>
>>>>> already alloc'ed output buffer for frame
>>>>> 0:00:35.398438066  3694      0x1e2b0a0 ERROR libav :0:: get_buffer()
>>>>> failed (-1 2 (nil))
>>>>> 0:00:35.398445219  3694      0x1e2b0a0 ERROR libav :0::
>>>>> decode_slice_header error
>>>>> 0:00:35.398451851  3694      0x1e2b0a0 ERROR libav :0:: mmco: unref
>>>>> short failure
>>>>> 0:00:35.398627695  3694      0x1e2b0a0 INFO libav :0:: concealing 8160
>>>>> DC, 8160 AC, 8160 MV errors
>>>>> 0:00:35.398828963  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f7728009720 -> 0x7f7728c67d10
>>>>> 0:00:35.399319058  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:513:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Found APP4 marker (65533). JPG: 77760-77760 - APP4: 77760 - 143295
>>>>> 0:00:35.399353615  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7728849000,
>>>>> maxsize:1440014 offset:77764 size:65531
>>>>> 0:00:35.399368422  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f7728009720 -> 0x7f7728849000
>>>>> 0:00:35.399658333  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:513:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Found APP4 marker (22566). JPG: 143295-143295 - APP4: 143295 - 165863
>>>>> 0:00:35.399677140  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7728dc76c0,
>>>>> maxsize:1440014 offset:143299 size:22564
>>>>> 0:00:35.399690113  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f7728009720 -> 0x7f7728dc76c0
>>>>> 0:00:35.399982333  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:659:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Pushing YUY2 auxiliary buffer video/x-raw, format=(string)YUY2,
>>>>> width=(int)320, height=(int)240, framerate=(fraction)15/1
>>>>> 0:00:35.400035247  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:1962:gst_**base_transform_handle_buffer:<**videoconvert4>
>>>>> handling buffer 0x7f7730007550 of size 153600 and offset NONE
>>>>> 0:00:35.400047757  3694      0x1e171e0 DEBUG default
>>>>> gstsegment.c:481:gst_segment_**to_running_time: invalid position (-1)
>>>>> 0:00:35.400057009  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2042:gst_**base_transform_handle_buffer:<**videoconvert4>
>>>>> calling prepare buffer
>>>>> 0:00:35.400066028  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:1537:**default_prepare_output_buffer:**<videoconvert4>
>>>>> passthrough: reusing input buffer
>>>>> 0:00:35.400074785  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2049:gst_**base_transform_handle_buffer:<**videoconvert4>
>>>>> using allocated buffer in 0x7f7730007550, out 0x7f7730007550
>>>>> 0:00:35.400085953  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2060:gst_**base_transform_handle_buffer:<**videoconvert4>
>>>>> element is in passthrough
>>>>> 0:00:35.400100607  3694      0x1e171e0 DEBUG GST_PADS
>>>>> gstpad.c:3224:do_probe_**callbacks:<src:vfsrc> data is passed
>>>>> 0:00:35.400125786  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:694:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> SOS marker wasn't found. MJPG is container only
>>>>> 0:00:35.400136546  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:88:_gst_memory_**free: free memory 0x7f77291e63d0
>>>>> 0:00:35.400153414  3694      0x1e171e0 DEBUG v4l2
>>>>> gstv4l2bufferpool.c:933:gst_**v4l2_buffer_pool_release_**buffer:<v4l2bufferpool0>
>>>>> release buffer 0x1de7720
>>>>> 0:00:35.400178526  3694      0x1e171e0 DEBUG basesrc
>>>>> gstbasesrc.c:2351:gst_base_**src_get_range:<v4l2src0> calling create
>>>>> offset 18446744073709551615 length 4096, time 0
>>>>> 0:00:35.400194362  3694      0x1e171e0 DEBUG v4l2
>>>>> gstv4l2bufferpool.c:832:gst_**v4l2_buffer_pool_acquire_**buffer:<v4l2bufferpool0>
>>>>> acquire
>>>>> 0:00:35.400205021  3694      0x1e171e0 DEBUG GST_POLL
>>>>> gstpoll.c:1200:gst_poll_wait: timeout :99:99:99.999999999
>>>>> 0:00:35.400235182  3694      0x1e2b1e0 DEBUG queue_dataflow
>>>>> gstqueue.c:1240:gst_queue_**loop:<queue0> queue is not empty
>>>>> 0:00:35.402142734  3694      0x1e2b1e0 DEBUG basetransform
>>>>> gstbasetransform.c:1962:gst_**base_transform_handle_buffer:<**capsfilter0>
>>>>> handling buffer 0x7f7730007550 of size 153600 and offset NONE
>>>>> 0:00:35.402168640  3694      0x1e2b1e0 DEBUG basetransform
>>>>> gstbasetransform.c:2042:gst_**base_transform_handle_buffer:<**capsfilter0>
>>>>> calling prepare buffer
>>>>> 0:00:35.402178987  3694      0x1e2b1e0 DEBUG GST_CAPS
>>>>> gstpad.c:2408:gst_pad_has_**current_caps:<capsfilter0:**sink> check
>>>>> current pad caps video/x-raw, format=(string)YUY2, width=(int)320,
>>>>> height=(int)240, framerate=(fraction)15/1
>>>>> 0:00:35.402210753  3694      0x1e2b1e0 DEBUG basetransform
>>>>> gstbasetransform.c:2049:gst_**base_transform_handle_buffer:<**capsfilter0>
>>>>> using allocated buffer in 0x7f7730007550, out 0x7f7730007550
>>>>> 0:00:35.402218850  3694      0x1e2b1e0 DEBUG basetransform
>>>>> gstbasetransform.c:2066:gst_**base_transform_handle_buffer:<**capsfilter0>
>>>>> doing inplace transform
>>>>>
>>>>> (gst-launch-1.0:3694): GStreamer-WARNING **:
>>>>> gstpad.c:3923:gst_pad_push_**data:<capsfilter0:src> Got data flow
>>>>> before segment event
>>>>>
>>>>> (gst-launch-1.0:3694): GStreamer-WARNING **:
>>>>> gstpad.c:3692:gst_pad_chain_**data_unchecked:<xvimagesink0:**sink>
>>>>> Got data flow before segment event
>>>>> 0:00:35.402247697  3694      0x1e2b1e0 DEBUG basesink
>>>>> gstbasesink.c:3283:gst_base_**sink_chain_unlocked:<**xvimagesink0>
>>>>> got times start: 99:99:99.999999999, end: 99:99:99.999999999
>>>>> 0:00:35.402263093  3694      0x1e2b1e0 DEBUG basesink
>>>>> gstbasesink.c:1899:gst_base_**sink_get_sync_times:<**xvimagesink0>
>>>>> got times start: 99:99:99.999999999, stop: 99:99:99.999999999, do_sync 0
>>>>> 0:00:35.402275683  3694      0x1e2b1e0 DEBUG default
>>>>> gstsegment.c:481:gst_segment_**to_running_time: invalid position (-1)
>>>>> 0:00:35.402281951  3694      0x1e2b1e0 DEBUG default
>>>>> gstsegment.c:481:gst_segment_**to_running_time: invalid position (-1)
>>>>> 0:00:35.402289418  3694      0x1e2b1e0 DEBUG basesink
>>>>> gstbasesink.c:3354:gst_base_**sink_chain_unlocked:<**xvimagesink0>
>>>>> rendering object 0x7f7730007550
>>>>> 0:00:35.402297939  3694      0x1e2b1e0 DEBUG basesink
>>>>> gstbasesink.c:938:gst_base_**sink_set_last_buffer_unlocked:**<xvimagesink0>
>>>>> setting last buffer to 0x7f7730007550
>>>>> 0:00:35.402309005  3694      0x1e2b1e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:88:_gst_memory_**free: free memory 0x7f7728f27070
>>>>> 0:00:35.402322365  3694      0x1e2b1e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:88:_gst_memory_**free: free memory 0x7f7729086a20
>>>>> 0:00:35.402329259  3694      0x1e2b1e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:88:_gst_memory_**free: free memory 0x7f7729345d80
>>>>> 0:00:35.402748981  3694      0x1e2b1e0 DEBUG bufferpool
>>>>> gstbufferpool.c:479:gst_**buffer_pool_set_active:<**xvimagebufferpool1>
>>>>> pool was in the right state
>>>>> 0:00:35.402773116  3694      0x1e2b1e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7738006800,
>>>>> maxsize:153607 offset:0 size:153600
>>>>> 0:00:35.402785810  3694      0x1e2b1e0 DEBUG GST_PERFORMANCE
>>>>> gstbuffer.c:244:_get_merged_**memory: memcpy 65505 bytes for merge
>>>>> 0x7f7738006800 from memory 0x7f7728c67d10
>>>>> 0:00:35.402805953  3694      0x1e2b1e0 DEBUG GST_PERFORMANCE
>>>>> gstbuffer.c:244:_get_merged_**memory: memcpy 65531 bytes for merge
>>>>> 0x7f7738006800 from memory 0x7f7728849000
>>>>> 0:00:35.402825501  3694      0x1e2b1e0 DEBUG GST_PERFORMANCE
>>>>> gstbuffer.c:244:_get_merged_**memory: memcpy 22564 bytes for merge
>>>>> 0x7f7738006800 from memory 0x7f7728dc76c0
>>>>> 0:00:35.402843541  3694      0x1e2b1e0 DEBUG GST_PERFORMANCE
>>>>> gstbuffer.c:1509:gst_buffer_**map_range: temporary mapping for memory
>>>>> 0x7f7738006800 in buffer 0x7f7730007550
>>>>> 0:00:35.402930602  3694      0x1e2b1e0 DEBUG GST_PERFORMANCE
>>>>> video-frame.c:245:gst_video_**frame_copy_plane: copy plane 0, w:640
>>>>> h:240
>>>>> 0:00:35.402963361  3694      0x1e2b1e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:88:_gst_memory_**free: free memory 0x7f7738006800
>>>>> 0:00:35.402993223  3694      0x1e2b1e0 DEBUG videosink
>>>>> gstvideosink.c:117:gst_video_**sink_center_rect: source is 320x240
>>>>> dest is 320x240, result is 320x240 with x,y 0x0
>>>>> 0:00:35.403172767  3694      0x1e2b1e0 DEBUG GST_QOS
>>>>> gstbasesink.c:2855:gst_base_**sink_do_render_stats:<**xvimagesink0>
>>>>> avg_render: 0:00:00.000771911
>>>>> 0:00:35.403185342  3694      0x1e2b1e0 DEBUG basesink
>>>>> gstbasesink.c:3393:gst_base_**sink_chain_unlocked:<**xvimagesink0>
>>>>> object unref after render 0x7f7730007550
>>>>> 0:00:35.403196545  3694      0x1e2b1e0 DEBUG queue_dataflow
>>>>> gstqueue.c:1228:gst_queue_**loop:<queue0> queue is empty
>>>>> 0:00:35.426997236  3694      0x1e171e0 DEBUG v4l2
>>>>> gstv4l2bufferpool.c:1167:gst_**v4l2_buffer_pool_process:<**v4l2bufferpool0>
>>>>> process buffer 0x1de7830
>>>>> 0:00:35.427041303  3694      0x1e171e0 DEBUG GST_CLOCK
>>>>> gstclock.c:922:gst_clock_get_**internal_time:<GstSystemClock>
>>>>> internal time 26:55:06.794065247
>>>>> 0:00:35.427056137  3694      0x1e171e0 DEBUG GST_CLOCK
>>>>> gstclock.c:967:gst_clock_get_**time:<GstSystemClock> adjusted time
>>>>> 26:55:06.794065247
>>>>> 0:00:35.427067629  3694      0x1e171e0 DEBUG v4l2src
>>>>> gstv4l2src.c:823:gst_v4l2src_**fill:<v4l2src0> ts: 26:55:06.800990000
>>>>> now 26:55:06.794092266 delay 0:00:00.000000000
>>>>> 0:00:35.427080729  3694      0x1e171e0 INFO v4l2src
>>>>> gstv4l2src.c:861:gst_v4l2src_**fill:<v4l2src0> sync to
>>>>> 0:00:34.466666322 out ts 0:00:34.800677133
>>>>> 0:00:35.427092788  3694      0x1e171e0 DEBUG basesrc
>>>>> gstbasesrc.c:2216:gst_base_**src_do_sync:<v4l2src0> no sync needed
>>>>> 0:00:35.427100101  3694      0x1e171e0 DEBUG basesrc
>>>>> gstbasesrc.c:2414:gst_base_**src_get_range:<v4l2src0> buffer ok
>>>>> 0:00:35.427112183  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:1958:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> handling buffer 0x1de7830 of size 165490 and offset 1033
>>>>> 0:00:35.427122893  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2042:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> calling prepare buffer
>>>>> 0:00:35.427131748  3694      0x1e171e0 DEBUG GST_CAPS
>>>>> gstpad.c:2408:gst_pad_has_**current_caps:<capsfilter5:**sink> check
>>>>> current pad caps image/jpeg, width=(int)320, height=(int)240,
>>>>> pixel-aspect-ratio=(fraction)**1/1, framerate=(fraction)30/1
>>>>> 0:00:35.427157133  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2049:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> using allocated buffer in 0x1de7830, out 0x1de7830
>>>>> 0:00:35.427164745  3694      0x1e171e0 DEBUG basetransform
>>>>> gstbasetransform.c:2066:gst_**base_transform_handle_buffer:<**capsfilter5>
>>>>> doing inplace transform
>>>>> 0:00:35.427176735  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:513:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Found APP4 marker (12182). JPG: 0-8 - APP4: 8 - 12192
>>>>> 0:00:35.427197573  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7728f27070,
>>>>> maxsize:1440014 offset:0 size:8
>>>>> 0:00:35.427207769  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f77281690c0 -> 0x7f7728f27070
>>>>> 0:00:35.427908444  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:550:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> New auxiliary stream : v1 - 22 bytes - H264 1920x1080 -- 333333 *100ns --
>>>>> 27 ms -- 67059032
>>>>> 0:00:35.427927470  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:552:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Auxiliary stream size : 12154 bytes
>>>>> 0:00:35.427939077  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7729086a20,
>>>>> maxsize:1440014 offset:38 size:12154
>>>>> 0:00:35.427948111  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f77281690c0 -> 0x7f7729086a20
>>>>> 0:00:35.428626317  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:659:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Pushing H264 auxiliary buffer video/x-h264, width=(int)1920,
>>>>> height=(int)1080, framerate=(fraction)30/1
>>>>> 0:00:35.428658303  3694      0x1e171e0 DEBUG GST_PADS
>>>>> gstpad.c:3224:do_probe_**callbacks:<src:vidsrc> data is passed
>>>>> 0:00:35.428666953  3694      0x1e171e0 DEBUG GST_PADS
>>>>> gstpad.c:3088:probe_hook_**marshal:<src:vidsrc> probe returned OK
>>>>> 0:00:35.428679400  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:513:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Found APP4 marker (65533). JPG: 12192-12192 - APP4: 12192 - 77727
>>>>> 0:00:35.428688152  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:550:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> New auxiliary stream : v1 - 22 bytes - YUY2 320x240 -- 333333 *100ns -- 27
>>>>> ms -- 67059032
>>>>> 0:00:35.428697950  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:552:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Auxiliary stream size : 153600 bytes
>>>>> 0:00:35.428708335  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f77291e63d0,
>>>>> maxsize:1440014 offset:12222 size:65505
>>>>> 0:00:35.428720262  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f77281690c0 -> 0x7f77291e63d0
>>>>> 0:00:35.429419395  3694      0x1e171e0 DEBUG uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:513:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> Found APP4 marker (65533). JPG: 77727-77727 - APP4: 77727 - 143262
>>>>> 0:00:35.429437926  3694      0x1e171e0 DEBUG GST_MEMORY
>>>>> gstmemory.c:138:gst_memory_**init: new memory 0x7f7729345d80,
>>>>> maxsize:1440014 offset:77731 size:65531
>>>>> 0:00:35.429446663  3694      0x1e171e0 DEBUG GST_PERFORMANCE
>>>>> gstallocator.c:466:_sysmem_**copy: memcpy 1440007 memory
>>>>> 0x7f77281690c0 -> 0x7f7729345d80
>>>>> 0:00:35.430148554  3694      0x1e171e0 WARN uvch264mjpgdemux
>>>>> gstuvch264_mjpgdemux.c:507:**gst_uvc_h264_mjpg_demux_chain:**<uvch264mjpgdemux0>
>>>>> error: Not enough data to read marker content
>>>>> 0:00:35.430172000  3694      0x1e171e0 DEBUG GST_MESSAGE
>>>>> gstelement.c:1807:gst_element_**message_full:<**uvch264mjpgdemux0>
>>>>> start
>>>>> 0:00:35.430202374  3694      0x1e171e0 INFO GST_ERROR_SYSTEM
>>>>> gstelement.c:1838:gst_element_**message_full:<**uvch264mjpgdemux0>
>>>>> posting message: Not enough data to read marker content
>>>>> 0:00:35.430223343  3694      0x1e171e0 DEBUG GST_BUS
>>>>> gstbus.c:312:gst_bus_post:<**bus0> [msg 0x1e3c5a0] posting on bus
>>>>> error message: 0x1e3c5a0, time 99:99:99.999999999, seq-num 378, element
>>>>> 'uvch264mjpgdemux0', GstMessageError, gerror=(GError)NULL,
>>>>> debug=(string)"gstuvch264_**mjpgdemux.c\(507\):\
>>>>> gst_uvc_h264_mjpg_demux_chain\ \(\):\ /GstPipeline:pipeline0/**
>>>>> GstUvcH264Src:src/**GstUvcH264MjpgDemux:**uvch264mjpgdemux0";
>>>>>
>>>>> ... now it continues with with and EOS that stops the pipeline
>>>>>
>>>>
>>>> ______________________________**_________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.**freedesktop.org<gstreamer-devel at lists.freedesktop.org>
>>>> http://lists.freedesktop.org/**mailman/listinfo/gstreamer-**devel<http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>>>>
>>>
>>>
>>>
>>> --
>>> Rob Krakora
>>> MessageNet Systems
>>> 101 East Carmel Dr. Suite 105
>>> Carmel, IN 46032
>>> (317)566-1677 Ext 212
>>> (317)663-0808 Fax
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>>
>>
>>
>> --
>>
>> Rob Krakora,
>> Senior Software Engineer
>>
>> MessageNet Systems
>> 101 E Carmel Dr, Suite 105
>> Carmel, IN 46032
>>
>> MessageNetSystems.com<http://www.messagenetcommunicationsystems.com/?utm_source=email+signature&utm_medium=email&utm_campaign=email+signature+to+homepage>
>>
>> Rob.Krakora at MessageNetSystems.com <rob.krakora at messagenetsystems.com>
>> P: 317.566.1677, 212
>> F: 317.663.0808
>>
>> For the latest news, information, and blogs, please be sure to visit,
>> follow, and like us...
>>
>>
>> <http://www.messagenetcommunicationsystems.com/get-the-message-out-blog/?utm_source=email+signature&utm_medium=email&utm_campaign=gmail+signature+to+blog>
>>    <http://www.youtube.com/user/MessageNetConnection/feed>  <http://www.linkedin.com/company/messagenet-systems>
>>    <http://twitter.com/MessageNet>  <http://www.facebook.com/MessageNetsystems>
>>
>
>
>
> --
>
> Rob Krakora,
> Senior Software Engineer
>
> MessageNet Systems
> 101 E Carmel Dr, Suite 105
> Carmel, IN 46032
>
> MessageNetSystems.com<http://www.messagenetcommunicationsystems.com/?utm_source=email+signature&utm_medium=email&utm_campaign=email+signature+to+homepage>
> Rob.Krakora at MessageNetSystems.com <rob.krakora at messagenetsystems.com>
> P: 317.566.1677, 212
> F: 317.663.0808
>
> For the latest news, information, and blogs, please be sure to visit,
> follow, and like us...
>
>
> <http://www.messagenetcommunicationsystems.com/get-the-message-out-blog/?utm_source=email+signature&utm_medium=email&utm_campaign=gmail+signature+to+blog>
>    <http://www.youtube.com/user/MessageNetConnection/feed>  <http://www.linkedin.com/company/messagenet-systems>
>    <http://twitter.com/MessageNet>  <http://www.facebook.com/MessageNetsystems>
>



-- 

Rob Krakora,
Senior Software Engineer

MessageNet Systems
101 E Carmel Dr, Suite 105
Carmel, IN 46032

MessageNetSystems.com<http://www.messagenetcommunicationsystems.com/?utm_source=email+signature&utm_medium=email&utm_campaign=email+signature+to+homepage>
Rob.Krakora at MessageNetSystems.com <rob.krakora at messagenetsystems.com>
P: 317.566.1677, 212
F: 317.663.0808

For the latest news, information, and blogs, please be sure to visit,
follow, and like us...

<http://www.messagenetcommunicationsystems.com/get-the-message-out-blog/?utm_source=email+signature&utm_medium=email&utm_campaign=gmail+signature+to+blog>
   <http://www.youtube.com/user/MessageNetConnection/feed>
<http://www.linkedin.com/company/messagenet-systems>
   <http://twitter.com/MessageNet>  <http://www.facebook.com/MessageNetsystems>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130815/63f83b07/attachment-0001.html>


More information about the gstreamer-devel mailing list