Commit graph

276 commits

Author SHA1 Message Date
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
Sebastian Dröge 5bbaa1f359 Add the TI format to the mapping table too 2012-10-15 16:28:37 +02:00
Sebastian Dröge e9790ae693 Add another TI specific OpenMAX color format 2012-10-15 16:28:37 +02:00
Sebastian Dröge 4966f68512 Fixes to element/elementfactory creation 2012-10-15 16:28:37 +02:00
Sebastian Dröge 32d4d29706 Some bugfixes to the codec scanning code
Also it's not possible to attach a thread after it was
detached once. As such we simply never detach any thread
at all now.
2012-10-15 16:28:37 +02:00
Sebastian Dröge a48d2feae0 Fix some compilation errors 2012-10-15 16:28:37 +02:00
Sebastian Dröge e9dcb1b329 Add important FIXME 2012-10-15 16:28:37 +02:00
Sebastian Dröge 1e73da2941 Add video decoder element 2012-10-15 16:28:37 +02:00
Sebastian Dröge c846605082 Add some more JNI wrapping 2012-10-15 16:28:37 +02:00
Sebastian Dröge a6a34c8f1c Add some missing color format constants 2012-10-15 16:28:37 +02:00
Sebastian Dröge d0ebf261ff Implement basic wrapper around MediaCodec API
Ideally nothing else will be needed from the elements later.
2012-10-15 16:28:37 +02:00
Sebastian Dröge f99214a657 Some more WIP
Scanning all codecs now and have data structures for holding codec
information and codec contexts. Also function declarations for
working with them.
2012-10-15 16:28:36 +02:00
Sebastian Dröge 8f232ea90b Initial commit 2012-10-15 16:28:36 +02:00