Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 21:00:16 +0000 (18:00 -0300)]
eglglessink: GlViewPort() should use actual surface size
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 20:21:26 +0000 (17:21 -0300)]
eglglessink: Avoid reiniting EGL after the first time
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 16:44:09 +0000 (13:44 -0300)]
eglglessink: Use correct template caps
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 15:54:05 +0000 (12:54 -0300)]
eglglessink: Fix missing texture setup bits
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 14:57:24 +0000 (11:57 -0300)]
eglglessink: Add error checking on eglSwapBuffers
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 14:40:49 +0000 (11:40 -0300)]
eglglessink: Fix stale&wrong 0.5 alpha blend
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.
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 13:47:39 +0000 (10:47 -0300)]
eglglessink: Add log reporting at shader compilation failure
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
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.
Reynaldo H. Verdejo Pinochet [Fri, 14 Sep 2012 18:59:05 +0000 (15:59 -0300)]
eglglessink: WIP: Reorder locking
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.
Reynaldo H. Verdejo Pinochet [Thu, 13 Sep 2012 03:55:33 +0000 (00:55 -0300)]
eglglessink: Actually test EGL configs before claiming support
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.
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.
Sebastian Dröge [Wed, 12 Sep 2012 14:19:33 +0000 (16:19 +0200)]
eglglessink: Fix build of static plugin
Reynaldo H. Verdejo Pinochet [Wed, 12 Sep 2012 12:28:22 +0000 (09:28 -0300)]
eglglessink: Drop wrong format test on _setcaps (draft leftover)
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 16:54:09 +0000 (13:54 -0300)]
eglglessink: Support RGB24 by default
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 16:51:25 +0000 (13:51 -0300)]
eglglessink: Instrument EGL error reporting
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 15:04:30 +0000 (12:04 -0300)]
eglglessink: Correctly return GstFlowReturn from render_and_display()
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 14:51:28 +0000 (11:51 -0300)]
eglglessink: Move VBO setup to it's own function
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
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 01:59:57 +0000 (22:59 -0300)]
eglglessink: Fix sample launch line with disabled window creation
Reynaldo H. Verdejo Pinochet [Tue, 11 Sep 2012 01:41:52 +0000 (22:41 -0300)]
eglglessink: Rename stale android leftover
Reynaldo H. Verdejo Pinochet [Mon, 10 Sep 2012 23:22:22 +0000 (20:22 -0300)]
eglglessink: Move eglgles Sink to ext/ #2
Reynaldo H. Verdejo Pinochet [Mon, 10 Sep 2012 23:00:57 +0000 (20:00 -0300)]
eglglessink: Move eglgles Sink to ext/
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
Sebastian Dröge [Thu, 18 Oct 2012 11:56:55 +0000 (13:56 +0200)]
opensles: Integrate into build system
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
Josep Torra [Mon, 1 Oct 2012 10:54:15 +0000 (12:54 +0200)]
opensles: fixes noise on seekeing
Josep Torra [Mon, 1 Oct 2012 09:46:50 +0000 (11:46 +0200)]
opensles: chain up on _clear_all
Josep Torra [Mon, 1 Oct 2012 09:14:24 +0000 (11:14 +0200)]
opensles: implement the ringbuffer clear_all vmethod too
Josep Torra [Mon, 1 Oct 2012 08:59:08 +0000 (10:59 +0200)]
opensles: initial attempt to reduce the src latency
Josep Torra [Sat, 29 Sep 2012 17:00:13 +0000 (19:00 +0200)]
opensles: sprinkle comments and cosmetic fixes
Josep Torra [Fri, 28 Sep 2012 13:10:19 +0000 (15:10 +0200)]
opensles: check for device outputs in the mixer
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.
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.
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.
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.
Josep Torra [Thu, 27 Sep 2012 15:32:14 +0000 (17:32 +0200)]
opensles: sink to provide the audioclock by default
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.
Josep Torra [Thu, 27 Sep 2012 12:52:59 +0000 (14:52 +0200)]
opensles: monitor some player events
Josep Torra [Thu, 27 Sep 2012 05:22:47 +0000 (07:22 +0200)]
opensles: rework around the _delay function
Josep Torra [Thu, 27 Sep 2012 03:40:46 +0000 (05:40 +0200)]
opensles: implement _delay function
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.
Josep Torra [Wed, 26 Sep 2012 12:01:17 +0000 (14:01 +0200)]
opensles: read player position and show it in the log
Josep Torra [Wed, 26 Sep 2012 10:50:42 +0000 (12:50 +0200)]
opensles: do not provide a clock in the sink element.
Josep Torra [Wed, 26 Sep 2012 10:32:44 +0000 (12:32 +0200)]
opensles: rework on start/stop operations and callback function handling
Josep Torra [Wed, 26 Sep 2012 10:09:04 +0000 (12:09 +0200)]
opensles: fixes 8 bit format which is unsigned on android.
Josep Torra [Tue, 25 Sep 2012 17:25:01 +0000 (19:25 +0200)]
opensles: attempt to reduce playback latency
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
Josep Torra [Fri, 21 Sep 2012 15:04:14 +0000 (17:04 +0200)]
opensles: use 0.25s segments in the sink to lower latency
Josep Torra [Fri, 21 Sep 2012 14:11:42 +0000 (16:11 +0200)]
opensles: finish remaining bits for source element.
Josep Torra [Fri, 21 Sep 2012 12:15:12 +0000 (14:15 +0200)]
opensles: attempt to query device for capabilities
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
Josep Torra [Thu, 20 Sep 2012 16:04:29 +0000 (18:04 +0200)]
opensles: make the volume property actually work
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.
Josep Torra [Thu, 20 Sep 2012 09:50:50 +0000 (11:50 +0200)]
opensles: fixes the license headers
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.
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.
Sebastian Dröge [Thu, 18 Oct 2012 07:24:29 +0000 (09:24 +0200)]
androidmedia: Use correct variable name in Makefile.am
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
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.
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
Sebastian Dröge [Tue, 16 Oct 2012 09:38:08 +0000 (11:38 +0200)]
mpegdemux: Fix unitialized variable compiler warning
Sebastian Dröge [Tue, 16 Oct 2012 09:34:04 +0000 (11:34 +0200)]
Revert "configure: fix build"
This reverts commit
5c1c35290d7f72a4bc016e8aef276d8c1bdcf37b.
Sebastian Dröge [Tue, 16 Oct 2012 09:31:41 +0000 (11:31 +0200)]
androidmedia: Add missing file
Wim Taymans [Tue, 16 Oct 2012 09:32:00 +0000 (11:32 +0200)]
configure: fix build
Sebastian Dröge [Mon, 15 Oct 2012 14:35:57 +0000 (16:35 +0200)]
androidmedia: Rename plugin
Sebastian Dröge [Mon, 15 Oct 2012 14:29:00 +0000 (16:29 +0200)]
androidmedia: Add to the not yet ported plugins
Sebastian Dröge [Mon, 15 Oct 2012 14:05:39 +0000 (16:05 +0200)]
androidmedia: Make everything buildable
Sebastian Dröge [Mon, 15 Oct 2012 12:36:55 +0000 (14:36 +0200)]
Don't try to use the NVidia DRM codecs
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
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.
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
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.
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
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
Sebastian Dröge [Wed, 3 Oct 2012 08:06:02 +0000 (10:06 +0200)]
List profiles in reverse 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
Sebastian Dröge [Wed, 3 Oct 2012 07:51:04 +0000 (09:51 +0200)]
Merge structures into caps instead of appending them
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
Sebastian Dröge [Mon, 24 Sep 2012 13:32:44 +0000 (15:32 +0200)]
Add support for audio/mpeg-L2 for the Nexus 7
Sebastian Dröge [Mon, 24 Sep 2012 13:14:09 +0000 (15:14 +0200)]
Add support for MPEG1/2 video
Sebastian Dröge [Wed, 19 Sep 2012 12:52:27 +0000 (14:52 +0200)]
Ignore the *law and Vorbis decoders
They are broken unfortunately.
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.
Sebastian Dröge [Wed, 19 Sep 2012 07:47:47 +0000 (09:47 +0200)]
Fix handling of I420 buffers with odd width
Sebastian Dröge [Tue, 18 Sep 2012 13:38:25 +0000 (15:38 +0200)]
Only mpegversion=4 is supported for AAC
Sebastian Dröge [Tue, 18 Sep 2012 13:28:31 +0000 (15:28 +0200)]
Remove some obsolete FIXMEs
Sebastian Dröge [Mon, 17 Sep 2012 11:46:15 +0000 (13:46 +0200)]
Fix flushing logic to unbreak handling of flushing seeks
Sebastian Dröge [Mon, 17 Sep 2012 10:24:30 +0000 (12:24 +0200)]
Fix chroma stride for I420 stride/crop conversion
Sebastian Dröge [Mon, 17 Sep 2012 09:28:58 +0000 (11:28 +0200)]
Fix Vorbis decoding
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.
Sebastian Dröge [Fri, 14 Sep 2012 14:11:33 +0000 (16:11 +0200)]
Release output buffers a bit earlier
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().
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
Sebastian Dröge [Fri, 14 Sep 2012 14:09:48 +0000 (16:09 +0200)]
Use correct buffer variable
Sebastian Dröge [Fri, 14 Sep 2012 12:43:31 +0000 (14:43 +0200)]
Always pass 1 as number of frames to finish_frame()
Sebastian Dröge [Fri, 14 Sep 2012 12:42:55 +0000 (14:42 +0200)]
Correctly remember number of channels and samplerate
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