Commit graph

90 commits

Author SHA1 Message Date
Sebastian Dröge
a887497d18 amcaudiodec: Properly set output format instead of just setting caps 2013-04-16 16:23:46 +02:00
Sebastian Dröge
055154fe78 androidmedia: Set parent class in class_init 2013-04-16 16:17:50 +02:00
Sebastian Dröge
7832b9b43f androidmedia: Handle refcounts of pad templates correctly
gst_pad_template_new() does not take ownership of caps anymore and
gst_element_class_add_pad_template() does take ownership of the
pad template now.
2013-04-16 16:00:30 +02:00
Sebastian Dröge
fd8defc525 amcaudiodec: Use 1.0-style raw audio caps 2013-04-16 15:32:01 +02:00
Sebastian Dröge
75493a7731 androidmedia: Properly set subclasses metadata/pad templates in base_init 2013-04-16 15:31:34 +02: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
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
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
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