platform/upstream/gstreamer.git
11 years agoeglglessink: WIP: Reorder locking
Reynaldo H. Verdejo Pinochet [Fri, 14 Sep 2012 18:59:05 +0000 (15:59 -0300)]
eglglessink: WIP: Reorder locking

11 years agoeglglessink: Fix xOverlay logic
Reynaldo H. Verdejo Pinochet [Fri, 14 Sep 2012 02:23:08 +0000 (23:23 -0300)]
eglglessink: Fix xOverlay logic

Several fixes dealing with correct window
creation and set_handle() ops. Tested on
X11/mesa with internal window creation.

11 years agoeglglessink: Actually test EGL configs before claiming support
Reynaldo H. Verdejo Pinochet [Thu, 13 Sep 2012 03:55:33 +0000 (00:55 -0300)]
eglglessink: Actually test EGL configs before claiming support

11 years agoeglglessink: Caps nego EGL fixes
Reynaldo H. Verdejo Pinochet [Thu, 13 Sep 2012 03:11:49 +0000 (00:11 -0300)]
eglglessink: Caps nego EGL fixes

- Fix alloc lol on format list: Asked for 2 slices and used 3.
- Reordered display & context init logic to prepare for actual
  config checking before claiming support for a given format.
  Change deals basically with setting up EGL display at start()
  and choose an EGL config only at setcaps time.

11 years agoeglglessink: Caps nego. Start extending RGB support to a set.
Reynaldo H. Verdejo Pinochet [Thu, 13 Sep 2012 01:11:39 +0000 (22:11 -0300)]
eglglessink: Caps nego. Start extending RGB support to a set.

11 years agoeglglessink: Fix build of static plugin
Sebastian Dröge [Wed, 12 Sep 2012 14:19:33 +0000 (16:19 +0200)]
eglglessink: Fix build of static plugin

11 years agoeglglessink: Drop wrong format test on _setcaps (draft leftover)
Reynaldo H. Verdejo Pinochet [Wed, 12 Sep 2012 12:28:22 +0000 (09:28 -0300)]
eglglessink: Drop wrong format test on _setcaps (draft leftover)

11 years agoeglglessink: Support RGB24 by default
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 16:54:09 +0000 (13:54 -0300)]
eglglessink: Support RGB24 by default

11 years agoeglglessink: Instrument EGL error reporting
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 16:51:25 +0000 (13:51 -0300)]
eglglessink: Instrument EGL error reporting

11 years agoeglglessink: Correctly return GstFlowReturn from render_and_display()
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 15:04:30 +0000 (12:04 -0300)]
eglglessink: Correctly return GstFlowReturn from render_and_display()

11 years agoeglglessink: Move VBO setup to it's own function
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 14:51:28 +0000 (11:51 -0300)]
eglglessink: Move VBO setup to it's own function

11 years agoeglglessink: Fix render_and_display logic
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 13:20:16 +0000 (10:20 -0300)]
eglglessink: Fix render_and_display logic

Switch procedure according to enabled rendering path

11 years agoeglglessink: Fix sample launch line with disabled window creation
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 01:59:57 +0000 (22:59 -0300)]
eglglessink: Fix sample launch line with disabled window creation

11 years agoeglglessink: Rename stale android leftover
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 01:41:52 +0000 (22:41 -0300)]
eglglessink: Rename stale android leftover

11 years agoeglglessink: Move eglgles Sink to ext/ #2
Reynaldo H. Verdejo Pinochet [Mon, 10 Sep 2012 23:22:22 +0000 (20:22 -0300)]
eglglessink: Move eglgles Sink to ext/ #2

11 years agoeglglessink: Move eglgles Sink to ext/
Reynaldo H. Verdejo Pinochet [Mon, 10 Sep 2012 23:00:57 +0000 (20:00 -0300)]
eglglessink: Move eglgles Sink to ext/

11 years agoopensles: Add the opensles plugin to the list of not ported plugins
Sebastian Dröge [Thu, 18 Oct 2012 12:03:33 +0000 (14:03 +0200)]
opensles: Add the opensles plugin to the list of not ported plugins

11 years agoopensles: Integrate into build system
Sebastian Dröge [Thu, 18 Oct 2012 11:56:55 +0000 (13:56 +0200)]
opensles: Integrate into build system

11 years agoopenslessink: Return 0 delay if the player object is in PAUSED state
Josep Torra [Fri, 12 Oct 2012 08:08:59 +0000 (10:08 +0200)]
openslessink: Return 0 delay if the player object is in PAUSED state

11 years agoopensles: fixes noise on seekeing
Josep Torra [Mon, 1 Oct 2012 10:54:15 +0000 (12:54 +0200)]
opensles: fixes noise on seekeing

11 years agoopensles: chain up on _clear_all
Josep Torra [Mon, 1 Oct 2012 09:46:50 +0000 (11:46 +0200)]
opensles: chain up on _clear_all

11 years agoopensles: implement the ringbuffer clear_all vmethod too
Josep Torra [Mon, 1 Oct 2012 09:14:24 +0000 (11:14 +0200)]
opensles: implement the ringbuffer clear_all vmethod too

11 years agoopensles: initial attempt to reduce the src latency
Josep Torra [Mon, 1 Oct 2012 08:59:08 +0000 (10:59 +0200)]
opensles: initial attempt to reduce the src latency

11 years agoopensles: sprinkle comments and cosmetic fixes
Josep Torra [Sat, 29 Sep 2012 17:00:13 +0000 (19:00 +0200)]
opensles: sprinkle comments and cosmetic fixes

11 years agoopensles: check for device outputs in the mixer
Josep Torra [Fri, 28 Sep 2012 13:10:19 +0000 (15:10 +0200)]
opensles: check for device outputs in the mixer

11 years agoopensles: drop 48kHz sample rate
Josep Torra [Fri, 28 Sep 2012 12:39:01 +0000 (14:39 +0200)]
opensles: drop 48kHz sample rate

OpenSL ES implementation in Android is just a 'facade' API on top of
AudioFlinger which will downsample 48kHz into 44.1kHz before
delivering the audio to the underlaying hardware.

We found that it suffer some sort of underrun when the downsample
enters in action so relay on our good resampler to take care of that
and fix the clicks issue. And get an extra bonus of a lower latency.

11 years agoopensles: change the defaults to use 20 ms ringbuffer segments
Josep Torra [Thu, 27 Sep 2012 17:24:50 +0000 (19:24 +0200)]
opensles: change the defaults to use 20 ms ringbuffer segments

In my nexus7 seems that the internal min buffer size is 20 ms so make
our segments match.

11 years agoopensles: ensure that we register the callback only in STOPPED
Josep Torra [Thu, 27 Sep 2012 16:33:09 +0000 (18:33 +0200)]
opensles: ensure that we register the callback only in STOPPED

Fixes the error registering the callback on the PLAYING -> PAUSE ->
PLAYING state change sequence.

11 years agoopensles: cap queue size
Josep Torra [Thu, 27 Sep 2012 15:46:27 +0000 (17:46 +0200)]
opensles: cap queue size

Just in case we want to tweak the sink behaviour with buffer-time and
latency-time properties cap the queue size to something reasonable.

11 years agoopensles: sink to provide the audioclock by default
Josep Torra [Thu, 27 Sep 2012 15:32:14 +0000 (17:32 +0200)]
opensles: sink to provide the audioclock by default

11 years agoopensles: only drain half ringbuffer on start
Josep Torra [Thu, 27 Sep 2012 15:27:24 +0000 (17:27 +0200)]
opensles: only drain half ringbuffer on start

At start drain half ringbuffer into the OpenSL so the writting/reading
pointers will start at half ringbuffer distance.

11 years agoopensles: monitor some player events
Josep Torra [Thu, 27 Sep 2012 12:52:59 +0000 (14:52 +0200)]
opensles: monitor some player events

11 years agoopensles: rework around the _delay function
Josep Torra [Thu, 27 Sep 2012 05:22:47 +0000 (07:22 +0200)]
opensles: rework around the _delay function

11 years agoopensles: implement _delay function
Josep Torra [Thu, 27 Sep 2012 03:40:46 +0000 (05:40 +0200)]
opensles: implement _delay function

11 years agoopensles: refactor to behave more like other sinks
Josep Torra [Thu, 27 Sep 2012 02:00:28 +0000 (04:00 +0200)]
opensles: refactor to behave more like other sinks

Reflect the queue in our own data buffer.
Drop the _commit hook that wasn't usefull.
Don't mess with the segsize/segtotal.

11 years agoopensles: read player position and show it in the log
Josep Torra [Wed, 26 Sep 2012 12:01:17 +0000 (14:01 +0200)]
opensles: read player position and show it in the log

11 years agoopensles: do not provide a clock in the sink element.
Josep Torra [Wed, 26 Sep 2012 10:50:42 +0000 (12:50 +0200)]
opensles: do not provide a clock in the sink element.

11 years agoopensles: rework on start/stop operations and callback function handling
Josep Torra [Wed, 26 Sep 2012 10:32:44 +0000 (12:32 +0200)]
opensles: rework on start/stop operations and callback function handling

11 years agoopensles: fixes 8 bit format which is unsigned on android.
Josep Torra [Wed, 26 Sep 2012 10:09:04 +0000 (12:09 +0200)]
opensles: fixes 8 bit format which is unsigned on android.

11 years agoopensles: attempt to reduce playback latency
Josep Torra [Tue, 25 Sep 2012 17:25:01 +0000 (19:25 +0200)]
opensles: attempt to reduce playback latency

11 years agoopensles: drop _buffer_clear calls and refactor to a shared _enqueue_cb
Josep Torra [Tue, 25 Sep 2012 16:04:27 +0000 (18:04 +0200)]
opensles: drop _buffer_clear calls and refactor to a shared _enqueue_cb

11 years agoopensles: use 0.25s segments in the sink to lower latency
Josep Torra [Fri, 21 Sep 2012 15:04:14 +0000 (17:04 +0200)]
opensles: use 0.25s segments in the sink to lower latency

11 years agoopensles: finish remaining bits for source element.
Josep Torra [Fri, 21 Sep 2012 14:11:42 +0000 (16:11 +0200)]
opensles: finish remaining bits for source element.

11 years agoopensles: attempt to query device for capabilities
Josep Torra [Fri, 21 Sep 2012 12:15:12 +0000 (14:15 +0200)]
opensles: attempt to query device for capabilities

11 years agoopensles: add the mute property and handle volume/mute changes on the fly
Josep Torra [Thu, 20 Sep 2012 16:41:50 +0000 (18:41 +0200)]
opensles: add the mute property and handle volume/mute changes on the fly

11 years agoopensles: make the volume property actually work
Josep Torra [Thu, 20 Sep 2012 16:04:29 +0000 (18:04 +0200)]
opensles: make the volume property actually work

11 years agoopensles: rework on the ringbufffer to properly clear segments
Josep Torra [Thu, 20 Sep 2012 12:16:25 +0000 (14:16 +0200)]
opensles: rework on the ringbufffer to properly clear segments

Make the segments bigger (1 second) as it seems to be the minimum size
we need to not introduce noise.
Sink works in my nexus 7 with rates from 8000 to 44100 and some noise
can be noticed on higger sample rates.

11 years agoopensles: fixes the license headers
Josep Torra [Thu, 20 Sep 2012 09:50:50 +0000 (11:50 +0200)]
opensles: fixes the license headers

11 years agoopensles: produces expected output until ringbuffer wraps
Josep Torra [Thu, 20 Sep 2012 08:41:50 +0000 (10:41 +0200)]
opensles: produces expected output until ringbuffer wraps

Add some log messages.
Fixed a bit the _player_cb function and properly advance reding in the
ringbuffer.
Still produces noise when the ringbuffer wraps.

11 years agoopensles: Add initial draft implementation of OpenSL ES plugin.
Josep Torra [Wed, 19 Sep 2012 16:11:54 +0000 (18:11 +0200)]
opensles: Add initial draft implementation of OpenSL ES plugin.

Initial draft implementation for a OpenSL ES based plugin for Android
that provides audio src and sink.

11 years agoandroidmedia: Use correct variable name in Makefile.am
Sebastian Dröge [Thu, 18 Oct 2012 07:24:29 +0000 (09:24 +0200)]
androidmedia: Use correct variable name in Makefile.am

11 years agodirectsoundsrc: Fix compiler warning
Raimo Järvi [Wed, 17 Oct 2012 19:54:28 +0000 (22:54 +0300)]
directsoundsrc: Fix compiler warning

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

11 years agoUse gst_element_class_set_static_metadata()
Tim-Philipp Müller [Wed, 17 Oct 2012 16:34:26 +0000 (17:34 +0100)]
Use gst_element_class_set_static_metadata()

where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.

11 years agodirectsoundsrc: port to 1.0
Raimo Järvi [Tue, 3 Apr 2012 09:09:19 +0000 (12:09 +0300)]
directsoundsrc: port to 1.0

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

11 years agompegdemux: Fix unitialized variable compiler warning
Sebastian Dröge [Tue, 16 Oct 2012 09:38:08 +0000 (11:38 +0200)]
mpegdemux: Fix unitialized variable compiler warning

11 years agoRevert "configure: fix build"
Sebastian Dröge [Tue, 16 Oct 2012 09:34:04 +0000 (11:34 +0200)]
Revert "configure: fix build"

This reverts commit 5c1c35290d7f72a4bc016e8aef276d8c1bdcf37b.

11 years agoandroidmedia: Add missing file
Sebastian Dröge [Tue, 16 Oct 2012 09:31:41 +0000 (11:31 +0200)]
androidmedia: Add missing file

11 years agoconfigure: fix build
Wim Taymans [Tue, 16 Oct 2012 09:32:00 +0000 (11:32 +0200)]
configure: fix build

11 years agoandroidmedia: Rename plugin
Sebastian Dröge [Mon, 15 Oct 2012 14:35:57 +0000 (16:35 +0200)]
androidmedia: Rename plugin

11 years agoandroidmedia: Add to the not yet ported plugins
Sebastian Dröge [Mon, 15 Oct 2012 14:29:00 +0000 (16:29 +0200)]
androidmedia: Add to the not yet ported plugins

11 years agoandroidmedia: Make everything buildable
Sebastian Dröge [Mon, 15 Oct 2012 14:05:39 +0000 (16:05 +0200)]
androidmedia: Make everything buildable

11 years agoDon't try to use the NVidia DRM codecs
Sebastian Dröge [Mon, 15 Oct 2012 12:36:55 +0000 (14:36 +0200)]
Don't try to use the NVidia DRM codecs

11 years agoTry to handle format changes more gracefully
Sebastian Dröge [Tue, 9 Oct 2012 08:56:30 +0000 (10:56 +0200)]
Try to handle format changes more gracefully

And make stop() faster and more robust

11 years agoAdd workaround for Google MP3 decoder outputting garbage in first output buffer
Sebastian Dröge [Tue, 9 Oct 2012 08:27:36 +0000 (10:27 +0200)]
Add workaround for Google MP3 decoder outputting garbage in first output buffer

And assume one decoded input frame per output buffer to fix timestamp
handling by the base class.

11 years agoAlso add some more output format checks to the audio decoder
Sebastian Dröge [Tue, 9 Oct 2012 08:14:50 +0000 (10:14 +0200)]
Also add some more output format checks to the audio decoder

11 years agoCheck output format metadata some more
Sebastian Dröge [Tue, 9 Oct 2012 08:13:32 +0000 (10:13 +0200)]
Check output format metadata some more

And implement workaround for NVidia Tegra 3 not setting the slice_height.
Thanks to Josep Torra for debugging this issue.

11 years agoAdd some more default channel layouts, these should be good for AAC at least
Sebastian Dröge [Fri, 5 Oct 2012 13:09:17 +0000 (15:09 +0200)]
Add some more default channel layouts, these should be good for AAC at least

11 years agoDon't set timestamps, the baseclass handles this for us anyway
Sebastian Dröge [Fri, 5 Oct 2012 12:56:22 +0000 (14:56 +0200)]
Don't set timestamps, the baseclass handles this for us anyway

11 years agoList profiles in reverse to minimize caps
Sebastian Dröge [Wed, 3 Oct 2012 08:06:02 +0000 (10:06 +0200)]
List profiles in reverse to minimize caps

11 years agoIterate levels in reverse order to minimize caps
Sebastian Dröge [Wed, 3 Oct 2012 07:56:50 +0000 (09:56 +0200)]
Iterate levels in reverse order to minimize caps

11 years agoMerge structures into caps instead of appending them
Sebastian Dröge [Wed, 3 Oct 2012 07:51:04 +0000 (09:51 +0200)]
Merge structures into caps instead of appending them

11 years agoUse orc_memcpy() instead of memcpy() as it should be faster for larger memory areas
Sebastian Dröge [Tue, 25 Sep 2012 08:32:26 +0000 (10:32 +0200)]
Use orc_memcpy() instead of memcpy() as it should be faster for larger memory areas

11 years agoAdd support for audio/mpeg-L2 for the Nexus 7
Sebastian Dröge [Mon, 24 Sep 2012 13:32:44 +0000 (15:32 +0200)]
Add support for audio/mpeg-L2 for the Nexus 7

11 years agoAdd support for MPEG1/2 video
Sebastian Dröge [Mon, 24 Sep 2012 13:14:09 +0000 (15:14 +0200)]
Add support for MPEG1/2 video

11 years agoIgnore the *law and Vorbis decoders
Sebastian Dröge [Wed, 19 Sep 2012 12:52:27 +0000 (14:52 +0200)]
Ignore the *law and Vorbis decoders

They are broken unfortunately.

11 years agoAdd FIXME comment for not handling odd widths/height with the TI hardware decoders
Sebastian Dröge [Wed, 19 Sep 2012 09:20:20 +0000 (11:20 +0200)]
Add FIXME comment for not handling odd widths/height with the TI hardware decoders

Must likely an issue with the codec itself though.

11 years agoFix handling of I420 buffers with odd width
Sebastian Dröge [Wed, 19 Sep 2012 07:47:47 +0000 (09:47 +0200)]
Fix handling of I420 buffers with odd width

11 years agoOnly mpegversion=4 is supported for AAC
Sebastian Dröge [Tue, 18 Sep 2012 13:38:25 +0000 (15:38 +0200)]
Only mpegversion=4 is supported for AAC

11 years agoRemove some obsolete FIXMEs
Sebastian Dröge [Tue, 18 Sep 2012 13:28:31 +0000 (15:28 +0200)]
Remove some obsolete FIXMEs

11 years agoFix flushing logic to unbreak handling of flushing seeks
Sebastian Dröge [Mon, 17 Sep 2012 11:46:15 +0000 (13:46 +0200)]
Fix flushing logic to unbreak handling of flushing seeks

11 years agoFix chroma stride for I420 stride/crop conversion
Sebastian Dröge [Mon, 17 Sep 2012 10:24:30 +0000 (12:24 +0200)]
Fix chroma stride for I420 stride/crop conversion

11 years agoFix Vorbis decoding
Sebastian Dröge [Mon, 17 Sep 2012 09:28:58 +0000 (11:28 +0200)]
Fix Vorbis decoding

11 years agoWait at most 100ms for dequeueing a buffer, and retry after that
Sebastian Dröge [Fri, 14 Sep 2012 14:17:51 +0000 (16:17 +0200)]
Wait at most 100ms for dequeueing a buffer, and retry after that

Some codecs don't fail the dequeueing if the codec is flushed,
causing deadlocks when shutting down the element.

11 years agoRelease output buffers a bit earlier
Sebastian Dröge [Fri, 14 Sep 2012 14:11:33 +0000 (16:11 +0200)]
Release output buffers a bit earlier

11 years agoKeep another reference of the input buffer in handle_frame()
Sebastian Dröge [Fri, 14 Sep 2012 14:11:04 +0000 (16:11 +0200)]
Keep another reference of the input buffer in handle_frame()

It might be unreffed in the meantime by the other thread due
to finish_frame().

11 years agoPass -1 as number of frames to the base class
Sebastian Dröge [Fri, 14 Sep 2012 14:10:29 +0000 (16:10 +0200)]
Pass -1 as number of frames to the base class

This will automatically do the right thing if timestamps are good enough

11 years agoUse correct buffer variable
Sebastian Dröge [Fri, 14 Sep 2012 14:09:48 +0000 (16:09 +0200)]
Use correct buffer variable

11 years agoAlways pass 1 as number of frames to finish_frame()
Sebastian Dröge [Fri, 14 Sep 2012 12:43:31 +0000 (14:43 +0200)]
Always pass 1 as number of frames to finish_frame()

11 years agoCorrectly remember number of channels and samplerate
Sebastian Dröge [Fri, 14 Sep 2012 12:42:55 +0000 (14:42 +0200)]
Correctly remember number of channels and samplerate

11 years agoDon't unref input buffer from handle_frame(), it's owned by the baseclass
Sebastian Dröge [Fri, 14 Sep 2012 12:42:36 +0000 (14:42 +0200)]
Don't unref input buffer from handle_frame(), it's owned by the baseclass

11 years agoRemove invalid GST_ERROR() call
Sebastian Dröge [Fri, 14 Sep 2012 11:31:21 +0000 (13:31 +0200)]
Remove invalid GST_ERROR() call

11 years agoOnly try to get the channel-mask if it is set
Sebastian Dröge [Fri, 14 Sep 2012 11:27:33 +0000 (13:27 +0200)]
Only try to get the channel-mask if it is set

11 years agoAdd support for FLAC
Sebastian Dröge [Fri, 14 Sep 2012 11:25:36 +0000 (13:25 +0200)]
Add support for FLAC

11 years agoFix src template caps
Sebastian Dröge [Fri, 14 Sep 2012 11:24:14 +0000 (13:24 +0200)]
Fix src template caps

11 years agoFix plugin initialization
Sebastian Dröge [Fri, 14 Sep 2012 11:16:41 +0000 (13:16 +0200)]
Fix plugin initialization

11 years agoAdd support for audio decoders, completely untested so far
Sebastian Dröge [Fri, 14 Sep 2012 11:05:15 +0000 (13:05 +0200)]
Add support for audio decoders, completely untested so far

11 years agoOnly set the SYNC_FRAME flag on the first buffer if we need to split the input
Sebastian Dröge [Fri, 14 Sep 2012 10:07:18 +0000 (12:07 +0200)]
Only set the SYNC_FRAME flag on the first buffer if we need to split the input

11 years agoIgnore codecs with unknown color formats for stability purposes
Sebastian Dröge [Wed, 12 Sep 2012 12:30:40 +0000 (14:30 +0200)]
Ignore codecs with unknown color formats for stability purposes

They can be registered nonetheless if an environment variable
or compile-time #define is set.

11 years agoImplement cropping and correctly handle the different color formats
Sebastian Dröge [Wed, 12 Sep 2012 11:48:01 +0000 (13:48 +0200)]
Implement cropping and correctly handle the different color formats

11 years agoReally implement stride conversion for NV12 too
Sebastian Dröge [Tue, 11 Sep 2012 14:30:00 +0000 (16:30 +0200)]
Really implement stride conversion for NV12 too