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