Sebastian Dröge
24b5dd72bd
mfc: Fix typo
2013-01-03 10:10:57 +01:00
Sebastian Dröge
204ec7efd5
mfc: Only add crop metadata if required
2013-01-02 17:23:51 +01:00
Sebastian Dröge
83ea8f1256
fimc: Do STREAMON/STREAMOFF only once and not once per buffer
2013-01-02 16:53:19 +01:00
Sebastian Dröge
718fe99018
mfc: Require one more output buffer than returned by the driver
2013-01-02 16:38:47 +01:00
Sebastian Dröge
8ed8347866
mfc: Prefer NV12 over I420/YV12
2013-01-02 16:09:15 +01:00
Sebastian Dröge
710b7c3f2e
mfc: The first frame produces output in our case
2013-01-02 15:40:10 +01:00
Sebastian Dröge
0fbfe0225c
mfc: Request input buffers explicitely
2013-01-02 14:32:32 +01:00
Sebastian Dröge
644ef86728
mfc: Don't STREAMOFF if no STREAMON happened yet
2013-01-02 14:27:53 +01:00
Sebastian Dröge
954ad79320
mfc: Check if the MFC hardware exists before registering the element
2013-01-02 14:23:22 +01:00
Sebastian Dröge
83a8138b4a
mfc: Check device capabilities before doing anything else
2013-01-02 14:16:06 +01:00
Sebastian Dröge
4abcec4ce8
mfc: Include codec_data in the buffer with the next frame
2013-01-02 12:33:42 +01:00
Sebastian Dröge
b765e33b86
mfc: Set format field of the instance struct
2013-01-02 11:56:20 +01:00
Sebastian Dröge
43ea557b9c
mfc: Implement support for crop metadata
2013-01-02 11:56:20 +01:00
Sebastian Dröge
0489f52776
mfc: Check if the hardware is available in GstVideoDecoder::open()
2013-01-02 10:27:28 +01:00
Sebastian Dröge
8835cb5814
mfc: Add support for h263 and MPEG1/2
2013-01-01 11:05:24 +01:00
Sebastian Dröge
c3c33d88d4
mfc: Don't reconfigure if we get compatible caps
2012-12-31 15:59:08 +01:00
Sebastian Dröge
bee7328210
mfc: Only create the MFC context in ::set_format()
2012-12-31 15:59:08 +01:00
Sebastian Dröge
9739f58a7f
mfc: Recreate fimc context if settings change
2012-12-31 15:59:08 +01:00
Sebastian Dröge
3a4ade2966
mfc: Some refactoring
2012-12-31 15:59:08 +01:00
Sebastian Dröge
7a8845243c
mfc: Do zerocopy if we get EGLImage buffers
2012-12-31 15:59:07 +01:00
Sebastian Dröge
37603c7dbd
mfc: Some minor fixes
2012-12-31 15:59:07 +01:00
Sebastian Dröge
2cf73892e1
mfc: Fix double-unmap of the codec data
2012-12-31 15:59:07 +01:00
Sebastian Dröge
30fd0ded4f
mfc: Pass codec_data to the codec if there's some
2012-12-31 15:59:07 +01:00
Sebastian Dröge
cfe1ff1c08
mfc: Refactor fimc code a bit
2012-12-31 15:59:07 +01:00
Sebastian Dröge
3b172723d6
mfc: Downgrade an error to debug output
2012-12-31 15:59:07 +01:00
Sebastian Dröge
410eb82aff
mfc: Some fimc cleanup
2012-12-31 15:59:07 +01:00
Sebastian Dröge
64230003d9
mfc: Add profile/level and width/height constraints
2012-12-31 15:59:07 +01:00
Sebastian Dröge
817d30f130
mfc: Don't leak buffers when setting new dest settings for a direct buffer
2012-12-31 15:59:07 +01:00
Sebastian Dröge
21258a52cd
mfc: Add initial MPEG4 support
2012-12-31 15:59:07 +01:00
Sebastian Dröge
fbf42806dc
mfc: Add some more debug output
2012-12-31 15:59:06 +01:00
Sebastian Dröge
fe5b268a1c
mfc: Implement tracking of frames using the v4l2_buffer timestamp
2012-12-31 15:59:06 +01:00
Sebastian Dröge
35400051fa
mfc: Reset some more variables on ::reset()
2012-12-31 15:59:06 +01:00
Sebastian Dröge
8c433b8fb9
mfc: Also add support for YV12
2012-12-31 15:59:06 +01:00
Sebastian Dröge
2212880093
mfc: Add support for video meta
2012-12-31 15:59:06 +01:00
Sebastian Dröge
6111f89365
mfc: Implement negotiation to NV12 or I420 based on downstream caps
2012-12-31 15:59:06 +01:00
Sebastian Dröge
c77e820a52
mfc: Workaround for wrongly reported strides by FIMC
2012-12-31 15:59:06 +01:00
Sebastian Dröge
52f8649586
mfc: Add proper support for MFC decoder strides
2012-12-31 15:59:06 +01:00
Sebastian Dröge
94acf4189c
mfc: Try with I420 for now, it's easier to debug
2012-12-31 15:59:06 +01:00
Sebastian Dröge
440dec8a68
mfc: Add some more debug output
2012-12-31 15:59:06 +01:00
Sebastian Dröge
048a09682f
mfc: Don't require stride to be set on src parameters
2012-12-31 15:59:06 +01:00
Sebastian Dröge
dd56c6b5b6
mfc: The mfc decoder library is dual licensed too
...
Apache License 2.0 and LGPL2+
2012-12-31 15:59:05 +01:00
Sebastian Dröge
dedbb443ed
mfc: Use CAMIF/FIMC for hardware color format conversion and de-tiling
2012-12-31 15:59:05 +01:00
Sebastian Dröge
1ca618fa6a
mfc: Only unref the outbuf if it doesn't belong to the frame
2012-12-31 15:59:05 +01:00
Sebastian Dröge
902e72874a
mfc: Port to GStreamer 1.0
2012-12-31 15:59:05 +01:00
Sebastian Dröge
01da756491
mfc: Add initial decoder element implementation
...
This does not copy the output to any output buffers yet.
Other than that should be basically functional already.
2012-12-31 15:59:05 +01:00
Sebastian Dröge
5d6c33d7e4
mfc: Add plugin and decoder skeleton
2012-12-31 15:59:05 +01:00
Sebastian Dröge
b0129f9994
mfc: Make mfc_decoder library compile and fix some compiler warnings
2012-12-31 15:59:05 +01:00
Sebastian Dröge
d4c78fc4ca
mfc: Add mfc_decoder library from FXI
2012-12-31 15:59:05 +01:00
Sebastian Dröge
996e8912f2
d3dvideosink: Add compatibility #defines for older mingw headers
...
These were removed recently but these mingw headers are still
out there.
2012-12-27 14:09:51 +01:00
Youness Alaoui
57160c2be7
decklink: remove useless and uninitialized list causing a crash in the device probe
2012-12-26 13:11:50 -05:00
Sebastian Dröge
85690b802d
d3dvideosink: Remove scary "while (object.refcount > 0) release (object);" code
...
If there is a memory leak, this isn't the way how it should be fixed.
2012-12-22 18:43:37 +01:00
Sebastian Dröge
038cf9eba0
d3dvideosink: Don't forget to return a value from ::propose_allocation()
2012-12-22 18:17:45 +01:00
Sebastian Dröge
53b2cdf335
d3dvideosink: Add support for the video meta
2012-12-22 18:17:04 +01:00
Sebastian Dröge
0642f3a143
d3dvideosink: Don't use "class" as variable name and don't use C99 comments
2012-12-22 18:13:48 +01:00
Sebastian Dröge
23265c8428
d3dvideosink: Only open system resources in in NULL->READY, not on object instantiation
2012-12-22 18:04:42 +01:00
Sebastian Dröge
827655ffb4
d3dvideosink: Properly copy frames to D3D with the right strides and everything
...
And only support color formats that are actually supported by the driver,
this allows proper zero-copy handling later and simplifies the code a lot.
Also simplify some other places, like the format mapping code.
2012-12-22 17:57:41 +01:00
Sebastian Dröge
c6763c2bbb
d3dvideosink: Remove non-sense display PAR handling
...
This has to be implemented properly at some point
2012-12-22 16:26:52 +01:00
Sebastian Dröge
020da4c577
d3dvideosink: Fix caps leak
2012-12-22 16:20:13 +01:00
Sebastian Dröge
41e58ecf5f
d3dvideosink: Fix duplicated format entry in the template caps
2012-12-22 12:09:30 +01:00
Sebastian Dröge
29b677fe9b
d3dvideosink: Fix linking
2012-12-22 12:05:14 +01:00
Sebastian Dröge
de8f436b21
d3dvideosink: Fix some more compiler warnings
2012-12-22 11:58:21 +01:00
Sebastian Dröge
7e8c531621
d3dvideosink: Port remaining bits to new GLib threading API
2012-12-22 11:50:08 +01:00
Sebastian Dröge
4f28e50540
d3dvideosink: And remove the right declaration
2012-12-22 11:45:27 +01:00
Sebastian Dröge
52a62d73b1
d3dvideosink: Remove unused static declaration
2012-12-22 11:44:32 +01:00
Sebastian Dröge
345b5f0eb8
d3dvideosink: Remove unused variables
2012-12-22 11:43:21 +01:00
Sebastian Dröge
d2d19eb1e6
d3dvideosink: Update to new GLib threading API
2012-12-22 11:42:52 +01:00
Sebastian Dröge
9838e3748c
d3dvideosink: Rename keep_aspect_ratio to force_aspect_ratio in the header too
2012-12-22 11:38:28 +01:00
Sebastian Dröge
5f3eefb611
d3dvideosink: Use G_PARAM_STATIC_STRINGS
2012-12-22 11:35:55 +01:00
Sebastian Dröge
872dc5feb6
d3dvideosink: Rename keep-aspect-ratio to force-aspect-ratio and default to TRUE
...
For consistency with other video sinks.
2012-12-22 11:34:43 +01:00
Sebastian Dröge
5ea516d735
d3dvideosink: Add files that had to be included in the last commit
2012-12-22 11:30:08 +01:00
Sebastian Dröge
479a54d18b
d3dvideosink: Add $(GST_PLUGINS_BASE_CFLAGS) to CFLAGS
2012-12-22 11:28:19 +01:00
Roland Krikava
fe5f514049
d3dvideosink: Various improvements
...
* XOverlay set_render_rectangle support (Useful for rendering in QT QML)
* Video format negotiation (with preference ordering)
* Using Direct3D9 (No benefit to using newer D3D versions)
2012-12-22 11:24:28 +01:00
Sebastian Dröge
c636b45c9a
d3dvideosink: Only include formats that are actually working
2012-12-21 16:11:49 +01:00
Sebastian Dröge
2b2112e6be
d3dvideosink: Add the actually supported color formats to the template caps
2012-12-21 15:23:42 +01:00
Руслан Ижбулатов
1b11496194
directsound: fix compilation errors caused by circular includes
...
https://bugzilla.gnome.org/show_bug.cgi?id=690128
2012-12-12 22:45:53 +00:00
Michael Esemplare
09512c5db1
d3dvideosink: fix compiler and linker flags
...
https://bugzilla.gnome.org/show_bug.cgi?id=690031
2012-12-11 20:58:42 +00:00
Sebastian Dröge
eeab001bc2
winscreencap: Fix configure check and compilation
2012-12-11 14:22:25 +00:00
Sebastian Dröge
5641546bf4
wasapi: make the build happy without the static plugins patch
2012-11-30 11:45:25 +01:00
Sebastian Dröge
f7f34f9f3f
wasapi: Integrate into the autotools build system
...
Patch based on a patch by Fabrizio Ciavatta <fabrizio.ciavatta@gmail.com>
2012-11-30 11:40:15 +01:00
Sebastian Dröge
3be147046d
shm: Fix configure check and clean up Makefile
2012-11-28 13:10:47 +01:00
Emmanuel Durand
1c973536b9
shm: Fix compilation of shm on OSX
...
https://bugzilla.gnome.org/show_bug.cgi?id=689183
2012-11-28 13:04:30 +01:00
Sebastian Dröge
97a365c439
windows: Put the DirectX LDFLAGS in the correct place and reorder libraries
2012-11-21 10:23:45 +01:00
Andoni Morales Alastruey
689cef0fc7
d3dvideosink: fix redefinition of DECLARE_INTERFACE_IID
...
https://bugzilla.gnome.org/show_bug.cgi?id=688510
2012-11-20 11:10:25 +00:00
Sebastian Dröge
f17ebca62a
amcvideodec: Fix refcount problem with frames being dropped because of decoder bugs
2012-11-12 14:58:00 +01:00
Sebastian Dröge
b2e5b9cb67
androidmedia: Update to new GLib thread API
2012-11-12 11:32:44 +01:00
Tim-Philipp Müller
9e1b75fda3
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Sebastian Dröge
9e4f1e7346
opensles: Fix compilation with debugging enabled
2012-11-02 11:25:21 +01:00
Sebastian Dröge
1f6944efc1
opensles: Remove unused variable
2012-11-01 15:38:32 +01:00
Sebastian Dröge
40ca6ed977
opensles: Make sure to only ever create a single engine object
...
The OpenSL ES spec defines:
An implementation shall enable creation of at least one such object, but
attempting to create more instances (either by a single application or by
several different applications) may fail.
2012-11-01 15:38:23 +01:00
Sebastian Dröge
92fffc8cbe
androidmedia: Skip Aricent codecs for now
...
The HTC One X claims to have one (but doesn't) and loading
the library for it hangs forever.
2012-11-01 13:55:54 +01:00
Olivier Crête
9a328a8f71
avfvideosrc: Negotiate format, also support more resolutions
...
This should enable supprt for old and new iPhones with the same code.
2012-10-30 19:32:59 +01:00
Руслан Ижбулатов
0a30ecba90
directsoundsrc: Fix a number of warnings/errors in directsoundsrc
...
* Don't use deprecated glib mutex functions
* Don't declare useless variables
* Don't link to non-existing libgstinterfaces
Fixes #686871
2012-10-26 10:01:03 +02:00
Sebastian Dröge
e0026d7203
opensles: Port to 1.0
2012-10-25 14:05:49 +02:00
Sebastian Dröge
1d9d3c1c30
androidmedia: Remember and use input state
2012-10-25 14:05:48 +02:00
Sebastian Dröge
079c68e4de
androidmedia: Port to 1.0
2012-10-25 14:05:48 +02:00
Sebastian Dröge
9c1543bd79
opensles: Integrate into build system
2012-10-18 14:03:10 +02:00
Josep Torra
e4810c3420
openslessink: Return 0 delay if the player object is in PAUSED state
2012-10-18 14:03:10 +02:00
Josep Torra
7c3a9c2974
opensles: fixes noise on seekeing
2012-10-18 14:03:10 +02:00
Josep Torra
adcf73e43f
opensles: chain up on _clear_all
2012-10-18 14:03:10 +02:00
Josep Torra
69426572f8
opensles: implement the ringbuffer clear_all vmethod too
2012-10-18 14:03:09 +02:00
Josep Torra
fc087f6419
opensles: initial attempt to reduce the src latency
2012-10-18 14:03:09 +02:00
Josep Torra
920354eb0d
opensles: sprinkle comments and cosmetic fixes
2012-10-18 14:03:09 +02:00
Josep Torra
78e3b9f428
opensles: check for device outputs in the mixer
2012-10-18 14:03:09 +02:00
Josep Torra
1d9f48a33d
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.
2012-10-18 14:03:09 +02:00
Josep Torra
9cc7e6a74d
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.
2012-10-18 14:03:09 +02:00
Josep Torra
97a1ccfab1
opensles: ensure that we register the callback only in STOPPED
...
Fixes the error registering the callback on the PLAYING -> PAUSE ->
PLAYING state change sequence.
2012-10-18 14:03:09 +02:00
Josep Torra
e265cec514
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.
2012-10-18 14:03:09 +02:00
Josep Torra
cc6fc15674
opensles: sink to provide the audioclock by default
2012-10-18 14:03:09 +02:00
Josep Torra
08ef2e3eed
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.
2012-10-18 14:03:09 +02:00
Josep Torra
3698d98921
opensles: monitor some player events
2012-10-18 14:03:09 +02:00
Josep Torra
3ff51bb88b
opensles: rework around the _delay function
2012-10-18 14:03:09 +02:00
Josep Torra
27cdb7c2ca
opensles: implement _delay function
2012-10-18 14:03:09 +02:00
Josep Torra
9fcfa00680
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.
2012-10-18 14:03:09 +02:00
Josep Torra
ed5870b605
opensles: read player position and show it in the log
2012-10-18 14:03:09 +02:00
Josep Torra
1e69918f3e
opensles: do not provide a clock in the sink element.
2012-10-18 14:03:08 +02:00
Josep Torra
b00049a9f6
opensles: rework on start/stop operations and callback function handling
2012-10-18 14:03:08 +02:00
Josep Torra
f00d5a5cac
opensles: fixes 8 bit format which is unsigned on android.
2012-10-18 14:03:08 +02:00
Josep Torra
eb6715a305
opensles: attempt to reduce playback latency
2012-10-18 14:03:08 +02:00
Josep Torra
1d9e16fb78
opensles: drop _buffer_clear calls and refactor to a shared _enqueue_cb
2012-10-18 14:03:08 +02:00
Josep Torra
1694befac6
opensles: use 0.25s segments in the sink to lower latency
2012-10-18 14:03:08 +02:00
Josep Torra
5612936d1a
opensles: finish remaining bits for source element.
2012-10-18 14:03:08 +02:00
Josep Torra
c006973a4e
opensles: attempt to query device for capabilities
2012-10-18 14:03:08 +02:00
Josep Torra
85bd75a2b1
opensles: add the mute property and handle volume/mute changes on the fly
2012-10-18 14:03:08 +02:00
Josep Torra
f06688c7b2
opensles: make the volume property actually work
2012-10-18 14:03:08 +02:00
Josep Torra
0291953997
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.
2012-10-18 14:03:08 +02:00
Josep Torra
29334f3233
opensles: fixes the license headers
2012-10-18 14:03:08 +02:00
Josep Torra
805a010dc9
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.
2012-10-18 14:03:08 +02:00
Josep Torra
f6aa2f29bc
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.
2012-10-18 14:03:08 +02:00
Sebastian Dröge
77364e2b3c
androidmedia: Use correct variable name in Makefile.am
2012-10-18 09:25:52 +02:00
Raimo Järvi
01853745a3
directsoundsrc: Fix compiler warning
...
https://bugzilla.gnome.org/show_bug.cgi?id=673414
2012-10-17 21:01:39 +01:00
Tim-Philipp Müller
32ba17cd0f
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.
2012-10-17 17:46:34 +01:00
Raimo Järvi
a7258842ab
directsoundsrc: port to 1.0
...
https://bugzilla.gnome.org/show_bug.cgi?id=673414
2012-10-17 13:25:25 +01:00
Sebastian Dröge
80533fa3a3
androidmedia: Add missing file
2012-10-16 11:33:50 +02:00
Sebastian Dröge
6fa3f058b1
androidmedia: Rename plugin
2012-10-15 16:37:54 +02:00
Sebastian Dröge
5e954a7d0a
androidmedia: Make everything buildable
2012-10-15 16:28:43 +02:00
Sebastian Dröge
f3682a0a6b
Don't try to use the NVidia DRM codecs
2012-10-15 16:28:43 +02:00
Sebastian Dröge
31f0f163bd
Try to handle format changes more gracefully
...
And make stop() faster and more robust
2012-10-15 16:28:43 +02:00
Sebastian Dröge
b0b642d8ab
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.
2012-10-15 16:28:43 +02:00
Sebastian Dröge
2f3b2c586f
Also add some more output format checks to the audio decoder
2012-10-15 16:28:42 +02:00
Sebastian Dröge
a870e6a5c3
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.
2012-10-15 16:28:42 +02:00
Sebastian Dröge
7341ed62fa
Add some more default channel layouts, these should be good for AAC at least
2012-10-15 16:28:42 +02:00
Sebastian Dröge
6ed3ea7cad
Don't set timestamps, the baseclass handles this for us anyway
2012-10-15 16:28:42 +02:00
Sebastian Dröge
86176bd2a2
List profiles in reverse to minimize caps
2012-10-15 16:28:42 +02:00
Sebastian Dröge
fc5a18c091
Iterate levels in reverse order to minimize caps
2012-10-15 16:28:42 +02:00
Sebastian Dröge
0b0255ed12
Merge structures into caps instead of appending them
2012-10-15 16:28:42 +02:00
Sebastian Dröge
9f7ed3f180
Use orc_memcpy() instead of memcpy() as it should be faster for larger memory areas
2012-10-15 16:28:42 +02:00
Sebastian Dröge
7a53743bfd
Add support for audio/mpeg-L2 for the Nexus 7
2012-10-15 16:28:42 +02:00
Sebastian Dröge
3159b7b5dd
Add support for MPEG1/2 video
2012-10-15 16:28:42 +02:00
Sebastian Dröge
41862dff59
Ignore the *law and Vorbis decoders
...
They are broken unfortunately.
2012-10-15 16:28:42 +02:00
Sebastian Dröge
f098ae6b88
Add FIXME comment for not handling odd widths/height with the TI hardware decoders
...
Must likely an issue with the codec itself though.
2012-10-15 16:28:42 +02:00
Sebastian Dröge
42d11e8c1b
Fix handling of I420 buffers with odd width
2012-10-15 16:28:41 +02:00
Sebastian Dröge
cb6f703669
Only mpegversion=4 is supported for AAC
2012-10-15 16:28:41 +02:00
Sebastian Dröge
742816df69
Remove some obsolete FIXMEs
2012-10-15 16:28:41 +02:00
Sebastian Dröge
f839a615a0
Fix flushing logic to unbreak handling of flushing seeks
2012-10-15 16:28:41 +02:00
Sebastian Dröge
bc7d2006e3
Fix chroma stride for I420 stride/crop conversion
2012-10-15 16:28:41 +02:00
Sebastian Dröge
7dbef6415f
Fix Vorbis decoding
2012-10-15 16:28:41 +02:00
Sebastian Dröge
562b033872
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.
2012-10-15 16:28:41 +02:00
Sebastian Dröge
9a034f2beb
Release output buffers a bit earlier
2012-10-15 16:28:41 +02:00
Sebastian Dröge
4c3617f7f0
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().
2012-10-15 16:28:41 +02:00
Sebastian Dröge
613a75ad92
Pass -1 as number of frames to the base class
...
This will automatically do the right thing if timestamps are good enough
2012-10-15 16:28:41 +02:00
Sebastian Dröge
0143418e0c
Use correct buffer variable
2012-10-15 16:28:41 +02:00
Sebastian Dröge
bb8e53d4b8
Always pass 1 as number of frames to finish_frame()
2012-10-15 16:28:41 +02:00
Sebastian Dröge
99e287b86b
Correctly remember number of channels and samplerate
2012-10-15 16:28:40 +02:00
Sebastian Dröge
efac01d096
Don't unref input buffer from handle_frame(), it's owned by the baseclass
2012-10-15 16:28:40 +02:00
Sebastian Dröge
3c40a9ca56
Remove invalid GST_ERROR() call
2012-10-15 16:28:40 +02:00
Sebastian Dröge
b07cd212ac
Only try to get the channel-mask if it is set
2012-10-15 16:28:40 +02:00
Sebastian Dröge
afbc23ceed
Add support for FLAC
2012-10-15 16:28:40 +02:00
Sebastian Dröge
b64e57ce42
Fix src template caps
2012-10-15 16:28:40 +02:00
Sebastian Dröge
6cc535581f
Fix plugin initialization
2012-10-15 16:28:40 +02:00
Sebastian Dröge
77fbaae250
Add support for audio decoders, completely untested so far
2012-10-15 16:28:40 +02:00
Sebastian Dröge
de5375da81
Only set the SYNC_FRAME flag on the first buffer if we need to split the input
2012-10-15 16:28:40 +02:00
Sebastian Dröge
290d6f61c5
Ignore codecs with unknown color formats for stability purposes
...
They can be registered nonetheless if an environment variable
or compile-time #define is set.
2012-10-15 16:28:40 +02:00
Sebastian Dröge
65448a3790
Implement cropping and correctly handle the different color formats
2012-10-15 16:28:40 +02:00
Sebastian Dröge
3acc776dd6
Really implement stride conversion for NV12 too
2012-10-15 16:28:40 +02:00
Sebastian Dröge
266bc5bf69
Implement stride-conversion for I420 and NV12
2012-10-15 16:28:39 +02:00
Sebastian Dröge
024ac3560d
Fix typo in previous commit
2012-10-15 16:28:39 +02:00
Sebastian Dröge
f2c5afd031
Don't allow using non-Google codecs if we started the Java VM ourselves
...
Hardware codecs, e.g. the TI ones, only work in processes that had their
Java VM started via the non-public AndroidRuntime class.
2012-10-15 16:28:39 +02:00
Sebastian Dröge
6feb6433d5
Rename to amc from androidmediacodec everywhere
2012-10-15 16:28:39 +02:00
Sebastian Dröge
2de542373b
Improve debug output
2012-10-15 16:28:39 +02:00
Sebastian Dröge
0df00d68b5
Print the MediaFormats we get in the debug logs
2012-10-15 16:28:39 +02:00
Sebastian Dröge
11b8d33666
Improve debug output
2012-10-15 16:28:39 +02:00
Sebastian Dröge
d06af02637
Improve level/profile handling
2012-10-15 16:28:39 +02:00
Sebastian Dröge
2eff8bf82d
Allow registering as static plugin with the GStreamer SDK API
2012-10-15 16:28:39 +02:00
Sebastian Dröge
b7a923234c
If the buffer sizes are the same, just memcpy() to the output buffers
2012-10-15 16:28:39 +02:00
Sebastian Dröge
cb262e2465
Correctly convert timestamps between us and ns
2012-10-15 16:28:39 +02:00
Sebastian Dröge
2fe74efc04
Set SYNC_FRAME flag on buffers if required
2012-10-15 16:28:39 +02:00
Sebastian Dröge
ed98e8cf60
Improve flushing
2012-10-15 16:28:38 +02:00
Sebastian Dröge
d2aff4ecd3
Wait at most 0.5 seconds for getting an input buffer for EOS
2012-10-15 16:28:38 +02:00
Sebastian Dröge
3be4965d00
Correctly check for flushing
2012-10-15 16:28:38 +02:00
Sebastian Dröge
6a48db3d0f
Retry for negative return values when dequeueing buffers
2012-10-15 16:28:38 +02:00
Sebastian Dröge
911ca50971
Fix refcount bug
2012-10-15 16:28:38 +02:00
Sebastian Dröge
b63c58e850
The MediaCodec API is apparently not threadsafe between stop() and release()
...
So we don't call release() and just hope for the GC to release the
codec in time.
2012-10-15 16:28:38 +02:00
Sebastian Dröge
525ecbb76a
Fix plugin cache creation
2012-10-15 16:28:38 +02:00
Sebastian Dröge
e7b21d5796
Cache the codec informations inside the registry
...
Otherwise we would always load all codecs during plugin initialization
which can take quite some time (because of hardware) and also loads
lots of shared libraries (which number is limited by 64 in Android).
2012-10-15 16:28:38 +02:00
Sebastian Dröge
a98a627370
Properly attach and detach the current threads to the Java VM
...
Attaching a thread after it was detached will cause segfaults,
as such we use a pthread_key_t to keep track of the JNIEnv* of
the attached threads and in the destructor (i.e. when the
thread exits) we detach the thread.
2012-10-15 16:28:38 +02:00
Sebastian Dröge
bafd4a0b19
Don't get the output format from the codec before it is ready
...
Apparently things are crashing otherwise.
2012-10-15 16:28:38 +02:00
Sebastian Dröge
c4258069bb
Get the input buffers from the codec
2012-10-15 16:28:38 +02:00
Sebastian Dröge
30b25fea35
Fix JNI method call signatures
2012-10-15 16:28:38 +02:00
Sebastian Dröge
686b9cf2fa
Initialize the VM will full debugging for now
2012-10-15 16:28:37 +02:00
Sebastian Dröge
d7148efb8e
Use NewStringUTF() instead of our own method for that
2012-10-15 16:28:37 +02:00