[Bug 728438] v4l2: Implement a v4l2 video encoder

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat May 3 10:15:55 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=728438
  GStreamer | gst-plugins-good | git

--- Comment #13 from ayaka <lxr1234 at hotmail.com> 2014-05-03 17:15:48 UTC ---
I have modified the gst_v4l2_allocator_new()
to set flags |= GST_V4L2_ALLOCATOR_FLAG_MMAP_REQBUFS; directly but it doesn't
work.
============================================================================
gstv4l2videoenc.c:446:gst_v4l2_video_enc_handle_frame:<v4l2video9enc0> Send
ing header
0:00:03.621489960   319    0xde490 DEBUG                   v4l2
gstv4l2bufferpool.c:505:gst_v4l2_buffer_pool_set_config:<v4l2video9enc0:poo
l:sink> config GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\
width\=\(int\)320\,\ height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
 format\=\(string\)NV12\,\ interlace-mode\=\(string\)mixed\,\
pixel-aspect-ratio\=\(fraction\)1/1", size=(uint)116736, min-buffers=(uint)8,
 max-buffers=(uint)16, allocator=(GstAllocator)"NULL",
params=(GstAllocationParams)NULL, options=(string)<
GstBufferPoolOptionVideoMeta >;
0:00:03.621593002   319    0xde490 INFO                    v4l2
gstv4l2bufferpool.c:557:gst_v4l2_buffer_pool_set_config:<v4l2video9enc0:poo
l:sink> can't allocate, setting maximum to minimum
0:00:03.621623293   319    0xde490 DEBUG           v4l2videoenc
gstv4l2videoenc.c:466:gst_v4l2_video_enc_handle_frame: set config
0:00:03.621664668   319    0xde490 WARN            v4l2videoenc
gstv4l2videoenc.c:558:gst_v4l2_video_enc_handle_frame:<v4l2video9enc0> erro
r: Failed to allocate required memory.
0:00:03.621686210   319    0xde490 WARN            v4l2videoenc
gstv4l2videoenc.c:558:gst_v4l2_video_enc_handle_frame:<v4l2video9enc0> erro
r: Buffer pool activation failed
==============================================================
I back to the decoder, I can't find when does it call REQBUFS, I have make a
debug message in echo ioctl but I can't find it.
==============================================================
gstv4l2bufferpool.c:505:gst_v4l2_buffer_pool_set_config:<v4l2video8dec0:poo
l:sink> config GstBufferPoolConfig, caps=(GstCaps)"video/x-h264\,\
level\=\(string\)2\,\ profile\=\(string\)high\,\ stream-format\=\(string
\)byte-stream\,\ alignment\=\(string\)au\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ parsed\=\(boolean\)tr
ue\,\ pixel-aspect-ratio\=\(fraction\)1/1", size=(uint)1048576,
min-buffers=(uint)0, max-buffers=(uint)0, allocator=(GstAllocator)"NULL", p
arams=(GstAllocationParams)NULL;
0:00:02.198014208   293    0xe8150 INFO                    v4l2
gstv4l2bufferpool.c:540:gst_v4l2_buffer_pool_set_config:<v4l2video8dec0:poo
l:sink> increasing minimum buffers to 2
0:00:02.198035833   293    0xe8150 INFO                    v4l2
gstv4l2bufferpool.c:546:gst_v4l2_buffer_pool_set_config:<v4l2video8dec0:poo
l:sink> reducing maximum buffers to 32
0:00:02.198056125   293    0xe8150 INFO                    v4l2
gstv4l2bufferpool.c:557:gst_v4l2_buffer_pool_set_config:<v4l2video8dec0:poo
l:sink> can't allocate, setting maximum to minimum
0:00:02.198158666   293    0xe8150 DEBUG           v4l2videodec
gstv4l2videodec.c:437:gst_v4l2_video_dec_handle_frame:<v4l2video8dec0> Hand
ling frame 0
0:00:02.233165666   293    0xe8150 DEBUG           v4l2videodec
gstv4l2videodec.c:455:gst_v4l2_video_dec_handle_frame:<v4l2video8dec0> Send
ing header
0:00:02.233272041   293    0xe8150 DEBUG                   v4l2
gstv4l2bufferpool.c:505:gst_v4l2_buffer_pool_set_config:<v4l2video8dec0:poo
l:sink> config GstBufferPoolConfig, caps=(GstCaps)"video/x-h264\,\
level\=\(string\)2\,\ profile\=\(string\)high\,\ stream-format\=\(string
\)byte-stream\,\ alignment\=\(string\)au\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ parsed\=\(boolean\)tr
ue\,\ pixel-aspect-ratio\=\(fraction\)1/1", size=(uint)1048576,
min-buffers=(uint)2, max-buffers=(uint)2, allocator=(GstAllocator)"NULL", p
arams=(GstAllocationParams)NULL;
0:00:02.233488209   293    0xe8150 DEBUG                   v4l2
gstv4l2bufferpool.c:706:gst_v4l2_buffer_pool_start:<v4l2video8dec0:pool:sin
k> requesting 2 MMAP buffers
0:00:02.244613583   293    0xe8150 DEBUG                   v4l2
gstv4l2bufferpool.c:1260:gst_v4l2_buffer_pool_release_buffer:<v4l2video8dec
0:pool:sink> release buffer 0xb561ca00
0:00:02.244809583   293    0xe8150 LOG                     v4l2
gstv4l2bufferpool.c:1329:gst_v4l2_buffer_pool_release_buffer:<v4l2video8dec
0:pool:sink> buffer 0 not queued, putting on free list
0:00:02.246805458   293    0xe8150 DEBUG                   v4l2
gstv4l2bufferpool.c:1260:gst_v4l2_buffer_pool_release_buffer:<v4l2video8dec
0:pool:sink> release buffer 0xb561caa0
0:00:02.246828916   293    0xe8150 LOG                     v4l2
gstv4l2bufferpool.c:1329:gst_v4l2_buffer_pool_release_buffer:<v4l2video8dec
0:pool:sink> buffer 1 not queued, putting on free list
0:00:02.246867499   293    0xe8150 LOG                     v4l2
gstv4l2object.c:2882:gst_v4l2_object_unlock_stop:<v4l2video8dec0> flush sto
p poll

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the gstreamer-bugs mailing list