Sebastian Dröge [Sat, 10 May 2014 21:12:54 +0000 (23:12 +0200)]
omx: Add audio decoder base class and a subclass for MP3
Sebastian Dröge [Tue, 1 Jul 2014 07:38:01 +0000 (09:38 +0200)]
omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
https://bugzilla.gnome.org/show_bug.cgi?id=732518
Sebastian Dröge [Mon, 30 Jun 2014 13:00:54 +0000 (15:00 +0200)]
examples: #define GST_USE_UNSTABLE_API for libgstgl
Sebastian Dröge [Sun, 29 Jun 2014 17:10:19 +0000 (19:10 +0200)]
omxh264enc: Properly accumulate headers and push before the next frame
Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
is in a separate OMX buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=726669
Sebastian Dröge [Sun, 29 Jun 2014 17:04:54 +0000 (19:04 +0200)]
omxvideoenc: Implement flush() instead of the deprecated reset()
Sebastian Dröge [Wed, 25 Jun 2014 15:14:18 +0000 (17:14 +0200)]
rpi: It's 44100Hz, not 41400Hz
Julien Isorce [Wed, 25 Jun 2014 10:12:51 +0000 (11:12 +0100)]
configure.ac: require gstgl >= 1.3.3
Julien Isorce [Fri, 25 Apr 2014 12:25:05 +0000 (13:25 +0100)]
example: enable testegl
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
Julien Isorce [Wed, 25 Jun 2014 09:19:54 +0000 (10:19 +0100)]
testegl: do matrix mutlplication in the shader
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
Julien Isorce [Wed, 25 Jun 2014 08:36:38 +0000 (09:36 +0100)]
testegl: add a comment for the parse command
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
Julien Isorce [Fri, 25 Apr 2014 16:32:16 +0000 (17:32 +0100)]
testegl: convert code from GLESv1 to GLESv2
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
Julien Isorce [Fri, 25 Apr 2014 12:21:59 +0000 (13:21 +0100)]
testegl: port to gstgl API
- append a glfilter just before fakesink
So that we get gltexture or eglimages
- propagate our EGLDisplay to the pipeline
see GST_QUERY_CONTEXT
- share our EGLContext with the iternal gl context
of the pipeline, see GST_QUERY_ALLOCATION
- use GstVideoGLTextureUploadMeta to upload
the incoming gltexture or eglimage to our gl texture
TODO: convert from GLESv1 to GLESv2
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
Sebastian Dröge [Tue, 24 Jun 2014 12:52:58 +0000 (14:52 +0200)]
omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
https://bugzilla.gnome.org/show_bug.cgi?id=731672
Sebastian Dröge [Tue, 24 Jun 2014 12:52:43 +0000 (14:52 +0200)]
omx: Only include OMX_VideoExt.h conditionally
It does not exist on the RPi for example.
Sebastian Dröge [Tue, 24 Jun 2014 11:59:44 +0000 (13:59 +0200)]
configure.ac: Require GStreamer core/base >= 1.2.2
Needed at least for gst_video_decoder_release_frame().
Sebastian Dröge [Tue, 24 Jun 2014 11:02:13 +0000 (13:02 +0200)]
omxbufferpool: Fix format string compiler warning
Michal Lazo [Sun, 22 Jun 2014 21:11:45 +0000 (21:11 +0000)]
omxbufferpool: Initialize debug category
Sebastian Dröge [Tue, 24 Jun 2014 10:42:22 +0000 (12:42 +0200)]
omxbufferpool: Properly convert OMX alignment to GStreamer alignment
GStreamer uses a bitmask for the alignment while OMX uses the
alignment itself. Let's convert.
https://bugzilla.gnome.org/show_bug.cgi?id=710564
Sebastian Dröge [Tue, 24 Jun 2014 09:11:28 +0000 (11:11 +0200)]
omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
Otherwise we a) send them twice, and b) finish a frame for something
that does not even include a frame.
https://bugzilla.gnome.org/show_bug.cgi?id=726669
Sebastian Dröge [Tue, 24 Jun 2014 08:22:37 +0000 (10:22 +0200)]
omxvideo: Include the separate headers too for compatibility with 1.0.x
Zhao, Halley [Mon, 24 Mar 2014 08:09:40 +0000 (16:09 +0800)]
omxvp8dec: use VP8 definition from OMX_VideoExt.h
https://bugzilla.gnome.org/show_bug.cgi?id=726957
Zhao, Halley [Mon, 24 Mar 2014 07:33:26 +0000 (15:33 +0800)]
configure: add --with-omx-header-path option for external omx headers
https://bugzilla.gnome.org/show_bug.cgi?id=726957
Aurélien Zanelli [Wed, 18 Jun 2014 21:04:33 +0000 (23:04 +0200)]
omxvideodec: fix a query leak
Also add a debug message if query fails.
https://bugzilla.gnome.org/show_bug.cgi?id=731898
Aurélien Zanelli [Fri, 30 May 2014 13:29:15 +0000 (15:29 +0200)]
omxvideodec: release frames with old PTS to avoid memory issue
Interlaced stream could make the decoder use two input frames to produce
one output frame causing the gstvideodecoder frame list to grow.
Assuming the video decoder output frame in display order rather than in
decoding order, this commit add a way to release frames with PTS less
than current output frame.
https://bugzilla.gnome.org/show_bug.cgi?id=730995
Kazunori Kobayashi [Thu, 27 Jun 2013 12:59:29 +0000 (21:59 +0900)]
omx: Fix a missing g_free() in error path
This fixes a memory leak with g_strdup() when an error occurs.
https://bugzilla.gnome.org/show_bug.cgi?id=731141
Aurélien Zanelli [Mon, 2 Jun 2014 13:34:09 +0000 (15:34 +0200)]
omxvideodec: add missing stream unlock in error path
Sebastian Dröge [Sat, 31 May 2014 13:12:05 +0000 (15:12 +0200)]
omx: Don't handle disabling/enabling ports exactly like flushing
Otherwise we might abort a flush operation in another thread when
enabling/disabling ports, leading to deadlocks sometimes.
https://bugzilla.gnome.org/show_bug.cgi?id=730989
Sebastian Dröge [Mon, 26 May 2014 09:02:10 +0000 (11:02 +0200)]
omxvideodec: Don't leak buffer pool config in error cases
CID 1216158
Sebastian Dröge [Wed, 21 May 2014 08:53:43 +0000 (10:53 +0200)]
Automatic update of common submodule
From 211fa5f to 1f5d3c3
Sebastian Dröge [Mon, 19 May 2014 07:10:07 +0000 (09:10 +0200)]
omxvideoenc: Don't forget to unref codec state
CID 1214603
Sebastian Dröge [Mon, 19 May 2014 07:08:33 +0000 (09:08 +0200)]
omxvideodec: Make output buffer pointer always initialized
CID 1214605
Sebastian Dröge [Mon, 19 May 2014 07:06:42 +0000 (09:06 +0200)]
omxvideodec: Check return value of gst_buffer_map()
CID 1214599
Sebastian Dröge [Mon, 19 May 2014 07:04:09 +0000 (09:04 +0200)]
omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
CID 1214589
Sebastian Dröge [Mon, 19 May 2014 07:01:46 +0000 (09:01 +0200)]
omxvideodec: Check return values of buffer pool config parsing functions
CID 1214588
Sebastian Dröge [Mon, 19 May 2014 06:48:50 +0000 (08:48 +0200)]
omx: Remove dead code, buf can never be NULL here as we just check for that the line above
CID 1214596
Sebastian Dröge [Mon, 19 May 2014 06:47:36 +0000 (08:47 +0200)]
omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
CID 1214593
Sebastian Dröge [Mon, 19 May 2014 06:45:10 +0000 (08:45 +0200)]
omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
CID 1214592
Sebastian Dröge [Mon, 19 May 2014 06:40:23 +0000 (08:40 +0200)]
omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
CID 1214591
Sebastian Dröge [Thu, 15 May 2014 11:22:56 +0000 (13:22 +0200)]
omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
Needed on some OMX implementations, e.g. the one from Atmel. It does
not send the settings-changed event on the output port if it is
disabled.
Sebastian Dröge [Thu, 15 May 2014 11:21:07 +0000 (13:21 +0200)]
omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
Needed on some OMX implementations, e.g. the one from Atmel. It does
not send the settings-changed event on the output port if it is
disabled.
Sebastian Dröge [Thu, 15 May 2014 08:58:34 +0000 (10:58 +0200)]
omx: Add a hack for not disabling the output port after set_format until the output format is known
Needed on some OMX implementations, e.g. the one from Atmel. It does
not send the settings-changed event on the output port if it is
disabled.
Josep Torra [Mon, 12 May 2014 10:33:32 +0000 (12:33 +0200)]
omxaudiosink: implement _delay only in the RaspberryPI
Make code implementation conditionally built for RaspberryPI because
OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
On other targets the query position might not be accurate without
implementing _delay appropriatelly.
Sebastian Dröge [Mon, 12 May 2014 06:56:15 +0000 (08:56 +0200)]
omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
Sebastian Dröge [Sat, 10 May 2014 20:48:23 +0000 (22:48 +0200)]
omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
Sebastian Dröge [Sat, 10 May 2014 20:47:56 +0000 (22:47 +0200)]
omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
Sebastian Dröge [Sat, 10 May 2014 20:47:21 +0000 (22:47 +0200)]
omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
Sebastian Dröge [Sat, 10 May 2014 20:46:51 +0000 (22:46 +0200)]
omxaudiosink: Fix format string compiler warnings
Josep Torra [Fri, 4 Apr 2014 12:11:58 +0000 (14:11 +0200)]
omxaudiosink: Implements OpenMAX based audio sinks
Provides omxanalogaudiosink and omxhdmiaudiosink elements on
the Raspberry PI.
- omxanalogaudiosink is capable to render raw mono or stereo audio
through the jack output.
- omxhdmiaudiosink is capable to render raw audio up to 8 channels
and transmit ac3/dts(IEC 61937) through the HDMI output.
- sinks provide a clock derived from rendered samples
- sinks support the GstStreamVolume interface by implementing
the volume and mute properties.
https://bugzilla.gnome.org/show_bug.cgi?id=728962
Sebastian Dröge [Sat, 3 May 2014 08:17:35 +0000 (10:17 +0200)]
Automatic update of common submodule
From bcb1518 to 211fa5f
Julien Isorce [Tue, 29 Apr 2014 14:16:16 +0000 (15:16 +0100)]
omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
Previously when using gst EGLImage allocator the caps was
video/x-raw, format=RGBA instead of
video/x-raw(memory:EGLImage), format=RGBA
Kepp previous behavior in case negotiation fails with caps feature.
It means it will still have a chance to use EGLImage even if the
feature is not in the caps.
https://bugzilla.gnome.org/show_bug.cgi?id=729196
Aurélien Zanelli [Wed, 23 Apr 2014 07:57:48 +0000 (09:57 +0200)]
omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
https://bugzilla.gnome.org/show_bug.cgi?id=728774
Aurélien Zanelli [Wed, 16 Apr 2014 09:00:55 +0000 (11:00 +0200)]
omxvideodec: don't unref caps before logging field from it
https://bugzilla.gnome.org/show_bug.cgi?id=728322
Julien Isorce [Tue, 15 Apr 2014 16:30:13 +0000 (17:30 +0100)]
example: disable testegl since libgstegl has been removed
As decided in bug #703343
Not compatible with the new libgstgl API.
A portage has been started, attachment 272800.
https://bugzilla.gnome.org/show_bug.cgi?id=703343
Julien Isorce [Tue, 15 Apr 2014 16:11:08 +0000 (17:11 +0100)]
omxvideodec: use new libgstgl API since libgstegl has been removed
There is no point to retrieve a ref/unref type
instead of an EGLDisplay directly. It's like for EGLImage.
https://bugzilla.gnome.org/show_bug.cgi?id=703343
Julien Isorce [Tue, 15 Apr 2014 16:06:38 +0000 (17:06 +0100)]
configure.ac: check for libgstgl since libgstegl has been removed
https://bugzilla.gnome.org/show_bug.cgi?id=703343
Aurélien Zanelli [Wed, 9 Apr 2014 16:52:16 +0000 (18:52 +0200)]
omxvideodec: add support of more color format
Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
NV16 color format.
Aurélien Zanelli [Wed, 9 Apr 2014 16:51:57 +0000 (18:51 +0200)]
omxvideodec: simplify color format conversion in fill_buffer function
Aurélien Zanelli [Wed, 9 Apr 2014 16:51:41 +0000 (18:51 +0200)]
omxbufferpool: make video stride and offset calculation easier
It will be easier to support more color format.
Aurélien Zanelli [Wed, 9 Apr 2014 16:51:12 +0000 (18:51 +0200)]
omx: add an helper to convert OMX color format to GStreamer color format
Josep Torra [Mon, 10 Mar 2014 16:43:50 +0000 (17:43 +0100)]
omxvideodec: Implement pipeline draining to support adaptive scenarios
When draining due a format change also drain
the pipeline to reclaim back all buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=726107
Josep Torra [Thu, 27 Mar 2014 12:57:32 +0000 (13:57 +0100)]
examples: fix several memory leaks in the testegl example
Ensure to call to image_data_free in order to release GPU resources.
Also ensure to destroy EGLImage and GLTexture from proper
thread/context.
https://bugzilla.gnome.org/show_bug.cgi?id=726107
Julien Isorce [Tue, 25 Mar 2014 17:16:31 +0000 (17:16 +0000)]
examples: keep a ref on the buffer instead of the memory
Like in eglglessink
https://bugzilla.gnome.org/show_bug.cgi?id=726107
Josep Torra [Fri, 7 Mar 2014 19:08:05 +0000 (20:08 +0100)]
omxvideodec: fixes race condition during seeks
Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
document in order to flush the component it needs to be in
paused state.
https://bugzilla.gnome.org/show_bug.cgi?id=726038
Julien Isorce [Wed, 29 Jan 2014 18:31:26 +0000 (18:31 +0000)]
omxvideodec: use flush because reset is deprecated
https://bugzilla.gnome.org/show_bug.cgi?id=726038
Julien Isorce [Mon, 27 Jan 2014 17:03:50 +0000 (17:03 +0000)]
omxvideodec: populate the most downstream output port on reset
Make seeking work when using egl_render component
https://bugzilla.gnome.org/show_bug.cgi?id=726038
Josep Torra [Mon, 24 Mar 2014 16:49:59 +0000 (17:49 +0100)]
omxbufferpool: return buffers to the pool instead of freeing them
We have to return the buffers back to the pool in when stopping to
not mess with the GstBufferPool accounting.
The OMX buffers will be freed when those won't be in charge of the
pool in the chained up call to 'stop'.
Fixes segfaults on finalize and pool not being properly deactivated.
https://bugzilla.gnome.org/show_bug.cgi?id=726337
Christian König [Wed, 19 Mar 2014 11:12:49 +0000 (12:12 +0100)]
omxvideodec: add missing unlock in the error path
Signed-off-by: Christian König <christian.koenig@amd.com>
https://bugzilla.gnome.org/show_bug.cgi?id=726958
Michal Lazo [Tue, 18 Mar 2014 22:36:59 +0000 (23:36 +0100)]
fix filemode
Julien Isorce [Mon, 17 Mar 2014 09:57:11 +0000 (09:57 +0000)]
omxbufferpool: fix memory leak if used on output port
When using GstOMXBufferPool on an output port, it internally uses
a GPtrArray to manage the GstBuffers instead of the default queue
from the GstBufferPool base class.
In this case GstBufferPool::default_free_buffer is not called when
the pool is stopped. Because the queue is empty. So explicitely
call gst_omx_buffer_pool_free_buffer on each buffer contained in
the GPtrArray.
https://bugzilla.gnome.org/show_bug.cgi?id=726337
Sebastian Dröge [Sun, 16 Mar 2014 16:32:05 +0000 (17:32 +0100)]
omxh264enc: Fix compiler warnings
Michal Lazo [Sun, 16 Mar 2014 16:19:08 +0000 (17:19 +0100)]
omxh264enc: IDR interval, SPS and PPS headers for rpi
https://bugzilla.gnome.org/show_bug.cgi?id=720031
Christian König [Thu, 13 Mar 2014 13:26:58 +0000 (14:26 +0100)]
omxvideo: fix debug category initialisation
https://bugzilla.gnome.org/show_bug.cgi?id=726024
Christian König [Thu, 13 Mar 2014 18:04:47 +0000 (19:04 +0100)]
omxbufferpool: add proper type definitions
https://bugzilla.gnome.org/show_bug.cgi?id=726325
Christian König [Sun, 2 Mar 2014 09:30:04 +0000 (10:30 +0100)]
omx: consolidate message waiting code
Add a wait_message helper function and remove all those duplicated code.
https://bugzilla.gnome.org/show_bug.cgi?id=725493
Sebastian Dröge [Wed, 12 Mar 2014 11:48:12 +0000 (12:48 +0100)]
omx: Copy old copyright notice into the new file
Sebastian Dröge [Wed, 12 Mar 2014 11:47:34 +0000 (12:47 +0100)]
omx: Rename function from _4_ to _for_ for clarity
Christian König [Mon, 3 Mar 2014 15:15:24 +0000 (16:15 +0100)]
omxvideo: start sharing more code between video decoder and encoder
Identical functionality spread of two different components.
We can't use a common base class because of different inheritance,
but let's try to share the code anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=726024
Sebastian Dröge [Wed, 12 Mar 2014 11:43:49 +0000 (12:43 +0100)]
examples: Only build RPi EGL example if RPi was chosen as target
Sebastian Dröge [Wed, 12 Mar 2014 11:42:23 +0000 (12:42 +0100)]
omxbufferpool: Fix header include guard
Christian König [Wed, 5 Mar 2014 10:41:02 +0000 (11:41 +0100)]
omxvideodec: separate the buffer pool from the decoder
https://bugzilla.gnome.org/show_bug.cgi?id=726025
Christian König [Tue, 4 Mar 2014 16:41:20 +0000 (17:41 +0100)]
omx: simplify tunnel functions
Specifying the component is error prone and unnecessary.
https://bugzilla.gnome.org/show_bug.cgi?id=726021
Christian König [Fri, 7 Mar 2014 16:12:24 +0000 (17:12 +0100)]
omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
https://bugzilla.gnome.org/show_bug.cgi?id=725907
Christian König [Fri, 7 Mar 2014 12:18:49 +0000 (13:18 +0100)]
omxvideodec: fix memory leak gst_omx_video_dec_negotiate
https://bugzilla.gnome.org/show_bug.cgi?id=725907
Christian König [Wed, 5 Mar 2014 17:54:05 +0000 (18:54 +0100)]
omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
https://bugzilla.gnome.org/show_bug.cgi?id=725826
Josep Torra [Wed, 5 Mar 2014 16:43:33 +0000 (17:43 +0100)]
Makefile.am: build examples
There's no reason to not build the examples now that are ported to 1.x.
Josep Torra [Wed, 5 Mar 2014 16:25:09 +0000 (17:25 +0100)]
examples: avoid a clashing name with the recently added GstEGLImagePool
Fixes build with current master.
Christian König [Thu, 5 Sep 2013 09:41:10 +0000 (03:41 -0600)]
omxvideoenc: simplify _find_nearest_frame
Just the same as we did with the decoder. Also give the
function a gst_omx_video_enc prefix to distinct it from
the decoder function.
https://bugzilla.gnome.org/show_bug.cgi?id=724236
Christian König [Thu, 5 Sep 2013 08:23:39 +0000 (02:23 -0600)]
omxvideodec: simplify _find_nearest_frame
No need to make it more complicated and error prone than
necessary. Also give the function a gst_omx_video_dec prefix
to distinct it from the encoder function.
https://bugzilla.gnome.org/show_bug.cgi?id=724236
Christian König [Thu, 5 Sep 2013 08:05:52 +0000 (02:05 -0600)]
omxvideodec: remove dead code
This code doesn't seems to be used for quite a while,
remove it before it starts to rot.
https://bugzilla.gnome.org/show_bug.cgi?id=724236
Christian König [Sat, 1 Mar 2014 21:28:24 +0000 (22:28 +0100)]
omx: fix two serious message handling bugs
Waiting for the next message if we already got one
is nonsense and can lead to lockups.
https://bugzilla.gnome.org/show_bug.cgi?id=725468
Christian König [Sat, 1 Mar 2014 17:49:41 +0000 (18:49 +0100)]
omxvideoenc: fix startup race condition
The reset function shouldn't start the src pad
loop if it wasn't started before.
Signed-off-by: Christian König <christian.koenig@amd.com>
Christian König [Sat, 1 Mar 2014 17:48:17 +0000 (18:48 +0100)]
omxvideodec: fix startup race condition
The reset function shouldn't start the src pad
loop if it wasn't started before.
Signed-off-by: Christian König <christian.koenig@amd.com>
Sebastian Dröge [Fri, 28 Feb 2014 08:36:13 +0000 (09:36 +0100)]
Automatic update of common submodule
From fe1672e to bcb1518
Stefan Sauer [Wed, 26 Feb 2014 21:15:00 +0000 (22:15 +0100)]
Automatic update of common submodule
From 1a07da9 to fe1672e
Edward Hervey [Thu, 30 Jan 2014 09:45:18 +0000 (10:45 +0100)]
Automatic update of common submodule
From d48bed3 to 1a07da9
Sebastian Dröge [Sat, 25 Jan 2014 16:44:14 +0000 (17:44 +0100)]
omx: Don't handle FLUSHING and NOT_LINKED as errors
Also don't stop the task on NOT_LINKED. We're not a demuxer.
Tim-Philipp Müller [Sun, 22 Dec 2013 22:35:31 +0000 (22:35 +0000)]
Automatic update of common submodule
From dbedaa0 to d48bed3
Tim-Philipp Müller [Tue, 5 Nov 2013 11:22:02 +0000 (11:22 +0000)]
Automatic update of common submodule
From 865aa20 to dbedaa0
Josep Torra [Sat, 28 Sep 2013 11:32:37 +0000 (13:32 +0200)]
examples: simplify the thread synchronization code
Make everithing more simple and fix the races conditions remaining in
the previous approaches.
Sebastian Dröge [Wed, 25 Sep 2013 17:17:17 +0000 (19:17 +0200)]
rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions