platform/upstream/gst-omx.git
8 years agoomx: #define OMX_SKIP64BIT on the RPi as required by their API
Sebastian Dröge [Fri, 17 Jun 2016 09:06:48 +0000 (12:06 +0300)]
omx: #define OMX_SKIP64BIT on the RPi as required by their API

Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
implementations also #define that for whatever reason.

https://bugzilla.gnome.org/show_bug.cgi?id=766475

8 years agoomxvideodec: Implement ::drain() virtual method
Sebastian Dröge [Fri, 17 Jun 2016 07:59:45 +0000 (10:59 +0300)]
omxvideodec: Implement ::drain() virtual method

https://bugzilla.gnome.org/show_bug.cgi?id=767641

8 years agoconfigure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
Tim-Philipp Müller [Sat, 4 Jun 2016 18:31:45 +0000 (19:31 +0100)]
configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES

This would check which subsystems are disabled in core by grepping
gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
so we've been checking a non-existent file for a while now. The
macro would just sets GST_DISABLE_* for use in configure.ac and
Makefile.am, but we don't use that anywhere so just get rid of it
(the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
which gets the define from the gstconfig.h include).

https://bugzilla.gnome.org/show_bug.cgi?id=750056

8 years agoomxvideodec : Use gstglmemoryegl for the RPi
Gwang Yoon Hwang [Tue, 19 Jan 2016 18:10:38 +0000 (03:10 +0900)]
omxvideodec : Use gstglmemoryegl for the RPi

Modified to use gstglmemoryegl to avoid texture creation/copy operations
at the glupload.

[Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL

https://bugzilla.gnome.org/show_bug.cgi?id=760918

8 years agoAutomatic update of common submodule
Julien Isorce [Thu, 14 Apr 2016 09:04:32 +0000 (10:04 +0100)]
Automatic update of common submodule

From 6f2d209 to ac2f647

8 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 26 Feb 2016 10:42:41 +0000 (12:42 +0200)]
Automatic update of common submodule

From b64f03f to 6f2d209

8 years agoexamples: update egl example for gstgl API changes
Matthew Waters [Wed, 17 Feb 2016 09:51:03 +0000 (20:51 +1100)]
examples: update egl example for gstgl API changes

https://bugzilla.gnome.org/show_bug.cgi?id=762053
https://bugzilla.gnome.org/show_bug.cgi?id=753917

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:11:06 +0000 (18:11 -0300)]
Automatic update of common submodule

From 86e4663 to b64f03f

8 years agoconfigure: Make -Bsymbolic check work with clang.
Koop Mast [Sun, 20 Dec 2015 23:43:49 +0000 (00:43 +0100)]
configure: Make -Bsymbolic check work with clang.

Update the -Bsymbolic check with the version glib has. This version
works with clang.

https://bugzilla.gnome.org/show_bug.cgi?id=759713

8 years agoAutomatic update of common submodule
Nicolas Dufresne [Mon, 7 Dec 2015 14:11:32 +0000 (09:11 -0500)]
Automatic update of common submodule

From b319909 to 86e4663

8 years agoRemember the last_error after a failed set state call to avoid blocking the next...
Enrique Ocaña González [Wed, 18 Nov 2015 13:00:28 +0000 (13:00 +0000)]
Remember the last_error after a failed set state call to avoid blocking the next get state call

gst_omx_video_dec_flush() blocks forever in
http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
when the previous call to gst_omx_component_set_state() fails in
http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
To mitigate that, I set "last_error" to true, so the code in
http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
exits early and doesn't block.

https://bugzilla.gnome.org/show_bug.cgi?id=758274

8 years agoProperly handle drain requests while flushing
Enrique Ocaña González [Wed, 18 Nov 2015 12:59:59 +0000 (12:59 +0000)]
Properly handle drain requests while flushing

Without this commit the decoder streaming thread stops without ever attending
the drain request, leaving the decoder input thread waiting forever.

https://bugzilla.gnome.org/show_bug.cgi?id=758274

8 years agoomx: fix hacks leak on class init
Nicolas Huet [Tue, 10 Nov 2015 09:42:35 +0000 (10:42 +0100)]
omx: fix hacks leak on class init

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Wed, 21 Oct 2015 13:37:13 +0000 (14:37 +0100)]
Automatic update of common submodule

From b99800a to b319909

9 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 21 Oct 2015 11:28:41 +0000 (14:28 +0300)]
Automatic update of common submodule

From 9aed1d7 to b99800a

9 years agoomxaacdec: Do not accept unknown layouts
Thiago Santos [Tue, 1 Sep 2015 19:08:11 +0000 (16:08 -0300)]
omxaacdec: Do not accept unknown layouts

It was defaulting to RAW when an unknown layout was received but
the caps template would actually forbid that on the caps query
or accept-caps anyway.

9 years agoomxaudiodec: use default pad accept-caps handling
Thiago Santos [Tue, 1 Sep 2015 11:59:54 +0000 (08:59 -0300)]
omxaudiodec: use default pad accept-caps handling

Instead of the audiodecoder one. The OMX audioo decoders have their
valid input in the template pad, so just check against that to
avoid doing a query downstream.

9 years agoomxvideodec: use default pad accept-caps handling
Thiago Santos [Fri, 28 Aug 2015 15:57:33 +0000 (12:57 -0300)]
omxvideodec: use default pad accept-caps handling

Instead of the videodecoder one. The OMX video decoders have their
valid input in the template pad, so just check against that to
avoid doing a query downstream.

9 years agoomxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestI...
Graham Leggett [Sat, 22 Aug 2015 15:54:55 +0000 (15:54 +0000)]
omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame

https://bugzilla.gnome.org/show_bug.cgi?id=753085

9 years agogst-omx: Fix memory leaks when context parse fails
Vineeth TM [Thu, 20 Aug 2015 08:20:50 +0000 (17:20 +0900)]
gst-omx: Fix memory leaks when context parse fails

When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753865

9 years agoomxh264dec: implement is_format_change
Philippe Normand [Sun, 16 Aug 2015 12:53:42 +0000 (14:53 +0200)]
omxh264dec: implement is_format_change

The omxvideodecoder class only checks some of the caps parameters but if
other fields change such as h264 profile and/or level it wouldn't trigger a
reconfiguration.

https://bugzilla.gnome.org/show_bug.cgi?id=752376

9 years agoomxvideodec: unref allocator after getting it from allocation query
Aurélien Zanelli [Thu, 2 Jul 2015 22:26:48 +0000 (00:26 +0200)]
omxvideodec: unref allocator after getting it from allocation query

Otherwise a reference will be leaked for each allocator. It only happens
when target platform is Raspberry Pi and when we have GL support.

https://bugzilla.gnome.org/show_bug.cgi?id=751867

9 years agoAutomatic update of common submodule
Stefan Sauer [Fri, 3 Jul 2015 19:59:54 +0000 (21:59 +0200)]
Automatic update of common submodule

From f74b2df to 9aed1d7

9 years agoAutomatic update of common submodule
Nicolas Dufresne [Tue, 16 Jun 2015 21:50:14 +0000 (17:50 -0400)]
Automatic update of common submodule

From 6015d26 to f74b2df

9 years agoAutomatic update of common submodule
Edward Hervey [Tue, 9 Jun 2015 09:30:49 +0000 (11:30 +0200)]
Automatic update of common submodule

From d9a3353 to 6015d26

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 8 Jun 2015 21:08:28 +0000 (23:08 +0200)]
Automatic update of common submodule

From d37af32 to d9a3353

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 21:07:22 +0000 (23:07 +0200)]
Automatic update of common submodule

From 21ba2e5 to d37af32

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:32:25 +0000 (17:32 +0200)]
Automatic update of common submodule

From c408583 to 21ba2e5

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:16:43 +0000 (17:16 +0200)]
Automatic update of common submodule

From c8fb372 to c408583

9 years agoomxaudiodec: Add an output adapter for chunking the output into codec frames
Sebastian Dröge [Tue, 19 May 2015 15:21:40 +0000 (18:21 +0300)]
omxaudiodec: Add an output adapter for chunking the output into codec frames

Otherwise the base class will be confused.
See https://bugzilla.gnome.org/show_bug.cgi?id=685730

9 years agoRemove obsolete Android build cruft
Tim-Philipp Müller [Sun, 26 Apr 2015 17:24:13 +0000 (18:24 +0100)]
Remove obsolete Android build cruft

This is not needed any longer.

9 years agoRemove INSTALL file
Sebastian Dröge [Wed, 22 Apr 2015 08:40:22 +0000 (10:40 +0200)]
Remove INSTALL file

autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.

9 years agoAdd m4 directory so aclocal doesn't complain in autogen.sh
Tim-Philipp Müller [Wed, 8 Apr 2015 14:57:59 +0000 (15:57 +0100)]
Add m4 directory so aclocal doesn't complain in autogen.sh

Might come in handy, and these warnings seem to be
fatal in some environments.

You may need to git clean -x -d -f your tree before
git pulling/merging.

9 years agoUpdate autogen.sh to latest version
Tim-Philipp Müller [Tue, 7 Apr 2015 21:25:57 +0000 (22:25 +0100)]
Update autogen.sh to latest version

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Fri, 3 Apr 2015 17:58:17 +0000 (18:58 +0100)]
Automatic update of common submodule

From bc76a8b to c8fb372

9 years agoomxaudiodec: add comment explaining duplicate code path
Luis de Bethencourt [Fri, 6 Mar 2015 12:12:49 +0000 (12:12 +0000)]
omxaudiodec: add comment explaining duplicate code path

9 years agoRevert "omxaudiodec: remove duplicate code path"
Luis de Bethencourt [Fri, 6 Mar 2015 12:09:06 +0000 (12:09 +0000)]
Revert "omxaudiodec: remove duplicate code path"

This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.

9 years agoomx: handle both errors in the two steps of update_port_definition
Luis de Bethencourt [Fri, 6 Mar 2015 12:03:56 +0000 (12:03 +0000)]
omx: handle both errors in the two steps of update_port_definition

Also consider potential errors in the _get_parameter() in the return of the
update_port_definition function.

CID #1287052

9 years agoomxaudioenc: impossible if statement
Luis de Bethencourt [Fri, 6 Mar 2015 10:57:53 +0000 (10:57 +0000)]
omxaudioenc: impossible if statement

ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
for it to be anything else at the if check. Remove the if check.

CID #1287053

9 years agoomxaudiodec: impossible if statement
Luis de Bethencourt [Fri, 6 Mar 2015 10:54:43 +0000 (10:54 +0000)]
omxaudiodec: impossible if statement

ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
for it to be anything else at the if check. Remove it.

CID #1287054

9 years agoomxaudiodec: remove duplicate code path
Luis de Bethencourt [Fri, 6 Mar 2015 10:50:30 +0000 (10:50 +0000)]
omxaudiodec: remove duplicate code path

9 years agoomx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
George Kiagiadakis [Fri, 19 Dec 2014 09:19:55 +0000 (11:19 +0200)]
omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock

There is one rare case where calling handle_messages() more than once can cause a deadlock
in the video decoder element:

- sink pad thread starts the src pad task (gst_omx_video_dec_loop())
- _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
- blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
  (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
- the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
- _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
- EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
- the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
  called from gst_omx_port_release_buffer()
- gst_omx_port_release_buffer releases comp->lock
- the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
- _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
  which does nothing (no pending messages)
- then it goes to "retry:" and calls _handle_messages() again, which also does nothing
  (still no pending messages)
- scheduler switches to a videocore thread that calls EventHandler, informing us about the
  OMX_EventPortSettingsChanged event that just arrived
- EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
  this point just fine.
- scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
- the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
  processes the OMX_EventPortSettingsChanged
- the buffer queue is still empty, so that thread blocks again in _wait_message()
- the sink pad thread tries to acquire the next input port buffer
- _acquire_buffer() also blocks this thread in:
   if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
- DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.

By removing those extra _handle_messages() calls, we can ensure that all the checks of
_acquire_buffer() will re-run. In the above case, after the scheduler switches back to
the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
there are pending messages and will return immediately, going back to "retry:" and
re-doing all the checks properly.

https://bugzilla.gnome.org/show_bug.cgi?id=741854

9 years agoomx: cleanup code a bit to remove else statement
Wonchul Lee [Thu, 26 Feb 2015 00:27:44 +0000 (09:27 +0900)]
omx: cleanup code a bit to remove else statement

https://bugzilla.gnome.org/show_bug.cgi?id=745191

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 12 Jan 2015 15:13:35 +0000 (16:13 +0100)]
Automatic update of common submodule

From f2c6b95 to bc76a8b

9 years agoAutomatic update of common submodule
Sebastian Dröge [Thu, 18 Dec 2014 09:56:15 +0000 (10:56 +0100)]
Automatic update of common submodule

From ef1ffdc to f2c6b95

9 years agoAutomatic update of common submodule
Edward Hervey [Thu, 27 Nov 2014 16:12:42 +0000 (17:12 +0100)]
Automatic update of common submodule

From 7bb2bce to ef1ffdc

10 years agoomx: Add omxamrdec
Jun Ji [Thu, 13 Nov 2014 00:55:02 +0000 (09:55 +0900)]
omx: Add omxamrdec

https://bugzilla.gnome.org/show_bug.cgi?id=739333

10 years agoAutomatic update of common submodule
Sebastian Dröge [Mon, 27 Oct 2014 17:00:50 +0000 (18:00 +0100)]
Automatic update of common submodule

From 84d06cd to 7bb2bce

10 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 21 Oct 2014 12:03:44 +0000 (13:03 +0100)]
Automatic update of common submodule

From a8c8939 to 84d06cd

10 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 21 Oct 2014 11:00:10 +0000 (13:00 +0200)]
Automatic update of common submodule

From 1f5d3c3 to a8c8939

10 years agoomxaudiodec: Clean up code a bit to get rid of useless NULL checks
Sebastian Dröge [Tue, 30 Sep 2014 07:47:20 +0000 (10:47 +0300)]
omxaudiodec: Clean up code a bit to get rid of useless NULL checks

10 years agoomxaudiodec: Unmap input buffers after usage
junji [Tue, 30 Sep 2014 01:50:07 +0000 (10:50 +0900)]
omxaudiodec: Unmap input buffers after usage

https://bugzilla.gnome.org/show_bug.cgi?id=736314

10 years agoomxvideoenc: Setup aspect ratio on RPi
Michal Lazo [Sun, 31 Aug 2014 20:30:13 +0000 (20:30 +0000)]
omxvideoenc: Setup aspect ratio on RPi

Needs firmware from yesterday or newer to work with all possible
aspect ratios. Before that it only supported a fixed list.

https://bugzilla.gnome.org/show_bug.cgi?id=732533

10 years agoomxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
Sebastian Dröge [Thu, 28 Aug 2014 07:44:31 +0000 (10:44 +0300)]
omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE

10 years agoomxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
Sebastian Dröge [Thu, 28 Aug 2014 07:43:22 +0000 (10:43 +0300)]
omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves

10 years agoomxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
Peng Liu [Wed, 27 Aug 2014 03:13:53 +0000 (22:13 -0500)]
omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE

Fix a video encoder stall problem on RPi when changing the aspect ratio.

https://bugzilla.gnome.org/show_bug.cgi?id=732533

10 years agoomx: Let base classes handle EOS
Sebastian Dröge [Thu, 14 Aug 2014 14:36:11 +0000 (17:36 +0300)]
omx: Let base classes handle EOS

https://bugzilla.gnome.org//show_bug.cgi?id=734774

10 years agoomxaudiodec: Fix flushing logic and make it more similar to the video decoder
Sebastian Dröge [Thu, 14 Aug 2014 14:33:07 +0000 (17:33 +0300)]
omxaudiodec: Fix flushing logic and make it more similar to the video decoder

10 years agoRelease 1.2.0 1.2.0
Sebastian Dröge [Wed, 23 Jul 2014 09:28:12 +0000 (11:28 +0200)]
Release 1.2.0

10 years agoconfig: Update ranks to PRIMARY+1 to have higher preference than avdec_*
Sebastian Dröge [Tue, 22 Jul 2014 07:23:00 +0000 (09:23 +0200)]
config: Update ranks to PRIMARY+1 to have higher preference than avdec_*

See https://bugzilla.gnome.org/show_bug.cgi?id=732161

10 years agoomxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprep...
Sebastian Dröge [Sun, 20 Jul 2014 15:46:30 +0000 (17:46 +0200)]
omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()

https://bugzilla.gnome.org/show_bug.cgi?id=733168

10 years agoomxaudiodec: Implement setting of fallback channel positions
Sebastian Dröge [Sun, 13 Jul 2014 20:15:18 +0000 (22:15 +0200)]
omxaudiodec: Implement setting of fallback channel positions

10 years agoomx: Add AAC audio decoder
Sebastian Dröge [Sun, 13 Jul 2014 16:22:39 +0000 (18:22 +0200)]
omx: Add AAC audio decoder

10 years agoomxaudiodec: Get PCM parameters from the out port, not the in port
Sebastian Dröge [Wed, 2 Jul 2014 07:22:28 +0000 (09:22 +0200)]
omxaudiodec: Get PCM parameters from the out port, not the in port

10 years agoomxaudiodec: Implement hack for not disabling the output port after set_format until...
Sebastian Dröge [Thu, 15 May 2014 11:24:39 +0000 (13:24 +0200)]
omxaudiodec: 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.

10 years agoomx: Add audio decoder base class and a subclass for MP3
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

10 years agoomx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
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

10 years agoexamples: #define GST_USE_UNSTABLE_API for libgstgl
Sebastian Dröge [Mon, 30 Jun 2014 13:00:54 +0000 (15:00 +0200)]
examples: #define GST_USE_UNSTABLE_API for libgstgl

10 years agoomxh264enc: Properly accumulate headers and push before the next frame
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

10 years agoomxvideoenc: Implement flush() instead of the deprecated reset()
Sebastian Dröge [Sun, 29 Jun 2014 17:04:54 +0000 (19:04 +0200)]
omxvideoenc: Implement flush() instead of the deprecated reset()

10 years agorpi: It's 44100Hz, not 41400Hz
Sebastian Dröge [Wed, 25 Jun 2014 15:14:18 +0000 (17:14 +0200)]
rpi: It's 44100Hz, not 41400Hz

10 years agoconfigure.ac: require gstgl >= 1.3.3
Julien Isorce [Wed, 25 Jun 2014 10:12:51 +0000 (11:12 +0100)]
configure.ac: require gstgl >= 1.3.3

10 years agoexample: enable testegl
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

10 years agotestegl: do matrix mutlplication in the shader
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

10 years agotestegl: add a comment for the parse command
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

10 years agotestegl: convert code from GLESv1 to GLESv2
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

10 years agotestegl: port to gstgl API
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

10 years agoomxbufferpool: Copy buffers if the stride does not match and we can't use video meta
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

10 years agoomx: Only include OMX_VideoExt.h conditionally
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.

10 years agoconfigure.ac: Require GStreamer core/base >= 1.2.2
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().

10 years agoomxbufferpool: Fix format string compiler warning
Sebastian Dröge [Tue, 24 Jun 2014 11:02:13 +0000 (13:02 +0200)]
omxbufferpool: Fix format string compiler warning

10 years agoomxbufferpool: Initialize debug category
Michal Lazo [Sun, 22 Jun 2014 21:11:45 +0000 (21:11 +0000)]
omxbufferpool: Initialize debug category

10 years agoomxbufferpool: Properly convert OMX alignment to GStreamer alignment
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

10 years agoomxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
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

10 years agoomxvideo: Include the separate headers too for compatibility with 1.0.x
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

10 years agoomxvp8dec: use VP8 definition from OMX_VideoExt.h
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

10 years agoconfigure: add --with-omx-header-path option for external omx headers
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

10 years agoomxvideodec: fix a query leak
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

10 years agoomxvideodec: release frames with old PTS to avoid memory issue
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

10 years agoomx: Fix a missing g_free() in error path
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

10 years agoomxvideodec: add missing stream unlock in error path
Aurélien Zanelli [Mon, 2 Jun 2014 13:34:09 +0000 (15:34 +0200)]
omxvideodec: add missing stream unlock in error path

10 years agoomx: Don't handle disabling/enabling ports exactly like flushing
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

10 years agoomxvideodec: Don't leak buffer pool config in error cases
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

10 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 21 May 2014 08:53:43 +0000 (10:53 +0200)]
Automatic update of common submodule

From 211fa5f to 1f5d3c3

10 years agoomxvideoenc: Don't forget to unref codec state
Sebastian Dröge [Mon, 19 May 2014 07:10:07 +0000 (09:10 +0200)]
omxvideoenc: Don't forget to unref codec state

CID 1214603

10 years agoomxvideodec: Make output buffer pointer always initialized
Sebastian Dröge [Mon, 19 May 2014 07:08:33 +0000 (09:08 +0200)]
omxvideodec: Make output buffer pointer always initialized

CID 1214605

10 years agoomxvideodec: Check return value of gst_buffer_map()
Sebastian Dröge [Mon, 19 May 2014 07:06:42 +0000 (09:06 +0200)]
omxvideodec: Check return value of gst_buffer_map()

CID 1214599

10 years agoomxvideodec: Check return value of gst_omx_port_set_enabled() for errors
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

10 years agoomxvideodec: Check return values of buffer pool config parsing functions
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

10 years agoomx: Remove dead code, buf can never be NULL here as we just check for that the line...
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