platform/upstream/gstreamer.git
11 years agoeglglessink: Avoid repeatedly setting 2D resizing params
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 17:58:43 +0000 (14:58 -0300)]
eglglessink: Avoid repeatedly setting 2D resizing params

Moved to initial texture setup so it hapens
just once while on the same context.

11 years agoeglglessink: Avoid initializing EGL at _set_window_handle()
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 15:04:20 +0000 (12:04 -0300)]
eglglessink: Avoid initializing EGL at _set_window_handle()

_start() should take care of that.
This change asumes _setcaps() will
happen always after _start() is
done.

11 years agoeglglessink: Don't ask for a window if we already have one
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 13:43:38 +0000 (10:43 -0300)]
eglglessink: Don't ask for a window if we already have one

11 years agoeglglessink: Fix EGL attribs var naming
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 13:31:26 +0000 (10:31 -0300)]
eglglessink: Fix EGL attribs var naming

11 years agoeglglessink: Fix slow path rendering on Android
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 05:32:25 +0000 (02:32 -0300)]
eglglessink: Fix slow path rendering on Android

Specify missing and mandatory params for npot
Before calling glTexImage2D.

In particular, _WRAP_T and _WRAP_S need to be
set to GL_CLAMP_TO_EDGE to avoid all-black
rendering with npot sized frames.

11 years agoeglglessink: Add test on usable eglconfigs returned
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 03:51:36 +0000 (00:51 -0300)]
eglglessink: Add test on usable eglconfigs returned

11 years agoeglglessink: Drop stale error_locked label
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 02:05:29 +0000 (23:05 -0300)]
eglglessink: Drop stale error_locked label

11 years agoeglglessink: Cleanup stale code comments
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 02:04:05 +0000 (23:04 -0300)]
eglglessink: Cleanup stale code comments

11 years agoeglglessink: GlViewPort() should use actual surface size
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 21:00:16 +0000 (18:00 -0300)]
eglglessink: GlViewPort() should use actual surface size

11 years agoeglglessink: Avoid reiniting EGL after the first time
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 20:21:26 +0000 (17:21 -0300)]
eglglessink: Avoid reiniting EGL after the first time

11 years agoeglglessink: Use correct template caps
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 16:44:09 +0000 (13:44 -0300)]
eglglessink: Use correct template caps

11 years agoeglglessink: Fix missing texture setup bits
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 15:54:05 +0000 (12:54 -0300)]
eglglessink: Fix missing texture setup bits

11 years agoeglglessink: Add error checking on eglSwapBuffers
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 14:57:24 +0000 (11:57 -0300)]
eglglessink: Add error checking on eglSwapBuffers

11 years agoeglglessink: Fix stale&wrong 0.5 alpha blend
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 14:40:49 +0000 (11:40 -0300)]
eglglessink: Fix stale&wrong 0.5 alpha blend

11 years agoeglglessink: Add float precision specifier to fragment shader
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 13:56:14 +0000 (10:56 -0300)]
eglglessink: Add float precision specifier to fragment shader

This is required by GLES and fixes compilation of fragment
shader prog.

11 years agoeglglessink: Add log reporting at shader compilation failure
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 13:47:39 +0000 (10:47 -0300)]
eglglessink: Add log reporting at shader compilation failure

11 years agoeglglessink: Add some missing checks on shader ops
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 01:43:38 +0000 (22:43 -0300)]
eglglessink: Add some missing checks on shader ops

- Check whether there is shader compiler support
  and bail out otherwise.
- Add checks on compile and linking ops

11 years agoeglglessink: Fix setup chain logic
Reynaldo H. Verdejo Pinochet [Fri, 14 Sep 2012 23:49:48 +0000 (20:49 -0300)]
eglglessink: Fix setup chain logic

Mostly a procedural reordering. Idea is to avoid
trying to setup a surface without a display.This
change relies on the asumption that:

1.- set_window_handle() can happen at any time
2.- setcaps will never get called before _start()
    is done.

If both conditions are meet the new procedure
should work as expected.

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