01e4a8ff63523bba5c8f919a72e0adb66daf4b98 |
26-Feb-2012 |
Mathias Agopian <mathias@google.com> |
cleanup includes Change-Id: Ia98b76b2e0c49ee257e1f31c61c2d6f72a9fe894
MediaPlayer.c
|
7da229586b6c8893a1731bfe3eae7996e2ccffc6 |
23-Sep-2011 |
Glenn Kasten <gkasten@google.com> |
Fix build errors and warnings on native android_audioPlayer_metadata_* APIs don't exist on non-Android. handlers.c needs a definition for NULL. handler_AudioPlayer_gain isn't present on non-Android. Fix typo in declaration of ThreadPool_add. Fix warning: unused variable len. Change-Id: Ia7d516c2cf3a51f5a657a3aad76188041dcc6620
MediaPlayer.c
|
485a038f9f0f898227b8ab4218e94c5d56b6ed0b |
24-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5193695 Fix crash after MediaPlayer destroyed The StreamSource callback thread was continuing to run after the MediaPlayer object was destroyed. Fixed by adding a callback protector and a pre-destroy hook. GenericMediaPlayer::preDestroy now also calls MediaPlayer::stop just in case. Change-Id: I5bd771d4d1936f433d2a8c9959593782c96daed9 Miscellaneous: - added an explicit destructor on CMediaPlayer::mAVPlayer for consistency (probably not a bug since there was a clear on it earlier) - updated comments for CallbackProtector - made some CallbackProtector fields private since no sub-classes yet
MediaPlayer.c
|
35ac702ee1ad91e5c8748c12450222d50b366a52 |
08-Aug-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 5126938 dependency for video sinks Fixing bug 5126938 will involve configuring the video sink in two places: at the initial data locator when creating the MediaPlayer object, and then later in the IAndroidConfiguration interface. This CL is preparation for that. Details: - Abstract out common code into android_Player_setNativeWindow. - Move the code for checking and initializing the video sink from an #ifdef ANDROID in the CMediaPlayer_Realize portable code to into platform-specific android_Player_realize. - Only set one of mSurface or mSurfaceTexture to non-NULL. - For methods which can't fail, replace the SLresult return value by void. Change-Id: Iec8fd91e1a6de45eb64241b35e3f7d7faf63d727
MediaPlayer.c
|
71139e6bc1f077d285fb04629925d99383d1114f |
07-Jul-2011 |
Glenn Kasten <gkasten@google.com> |
Make it build again on non-Android Fix warning about unused variable. Remove spurious include. Fix warning about printf format type mismatch. Change-Id: Ibeeb33a55175e0ec1e5210211d8844df0bbe3bca
MediaPlayer.c
|
2b06e20ae32388f6e1dfd088d9773c34e6b1cb45 |
29-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Reduce include noise in SL and XA class definitions In classes.h: we should only have to include the headers for the objects that are actually stored as member variables of the OpenSL ES and OpenMAX AL objects (so here AudioTrackProtector, Effect, and GenericPlayer). In CMediaPlayer.c: remove useless includes and change the video surface function prototypes to use const refs to strong pointers instead of pointers to access the GenericMediaPlayer objects. Note that android_SfPlayer.h is still in sles_allinclusive.h because it will be dealt with when the SfPlayer functionality is absorbed under LocAVPlayer. Change-Id: Ic2c9459862588399d9545a247cc15341effc0f66
MediaPlayer.c
|
83ac345e264c1e22b7a2f1a110b2fe92473394ec |
19-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 4109988 fix deadlock on destroy Fix deadlock with an AudioPlayer playing from a PCM buffer queue. This type of player uses an AudioTrack that pulls data through its callback from a buffer queue. This issue is that when you destroy the player (whick locks the object), it tries to destroy the AudioTrack object. The AudioTrack destructor can only finish when the AudioTrack callback thread can exit. If a callback was underway when trying to destroy the object, a race condition existed for the AudioPlayer lock. The fix consists in using the "pre-destroy" hook for the AudioPlayer object. In it, we unlock the AudioPlayer, and block until the AudioTrack callback has signaled it's done. The pre-destroy hook also marks the track as "about to be destroyed" so any callback that gets called once the pre-destroy hook has been called can return immediately. Change-Id: I4ca69157ff381232c1edc8fb576c6d9e90c2777f
AudioPlayer.c
|
39310fca2e30101fa6e5168da443581cc60c20bf |
16-Mar-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 4099084 native window data locator Change-Id: I03cac7501c3f185a2f95395b140b52b695081c4b
MediaPlayer.c
|
ad1ab1d13a9b043202b9d5cdc1d8c4ef66cbbca8 |
05-Mar-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 3329759 Surface texture as video sink XA_DATALOCATOR_NATIVEDISPLAY now allows either a Surface or SurfaceTexture together with a JNIEnv *. Miscellaneous fixes: - Clarify test button labels. - Line length 100. - Fix typos in XA_DATALOCATOR_ANDROIDFD and XA_DATALOCATOR_ANDROIDFD_USE_FILE_SIZE. Change-Id: I3f3c604dfda3cf66ef7d7adc8689564a83623b2f
MediaPlayer.c
|
68d56b8ebaf60184a3aef988e3d2b09ed8b88c05 |
24-Feb-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
OpenMAX AL: consolidate MediaPlayer implementations under superclass The OpenMAX AL MediaPlayer object has two implementations: one for playing from URI/FD (LocAVPlayer) and one for playing from AndroidBufferQueue (StreamPlayer). They both inherit from AVPlayer. This CL makes LocAVPlayer and StreamPlayer inherit from GenericMediaPlayer (new name of AVPlayer) which encapsulates the interaction with an android::MediaPlayer instance running in the media server process. Also it makes GenericMediaPlayer inherit from GenericPlayer, the player superclass also used in OpenSL ES. After this CL, the OpenMAX AL and OpenSL ES have a common class hierarchy for their players. Change-Id: I5f6e279fc29b7f6f26c9ed5c83a9455cfda88ff4
MediaPlayer.c
|
13837cf3f7be0eb8b1a9552bd99a89f98c987720 |
01-Feb-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
OpenSL ES: support decode to PCM buffer queue Created a new audio player class, APlayer, from which we derive subclasses to encapsulate OpenSL ES AudioPlayer implementations: - ASfPlayer derives from APlayer and encapsulates StageFright functionality for audio decoding to a buffer - ADecoder derives from ASfPlayer and encapsulates rendering the decoded audio data to a callback function. It interfaces with the OpenSL ES Buffer Queue interface to pass the decoded data back to an OpenSL ES application. For OpenSL ES, to support decoding to a Buffer Queue, we now allow an AudioPlayer to have its sink be a PCM buffer queue. Change-Id: I9aefeb0375a71f7ca770c5c62b4fb8faf59c9c23
AudioPlayer.c
|
bcc5c7225e3b7a1dbf2e9e830987f69167acf06f |
18-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Rename class__ to clazz, this to thiz The JNI naming conventions avoid conflict with C++ reserved words. Change-Id: I93ad6920bf78c0a02ac4b2650a29c9e11252f731
3DGroup.c
AudioPlayer.c
AudioRecorder.c
Engine.c
MediaPlayer.c
OutputMix.c
|
cfc9374b5957ffa056e9cc0ae9beb164c64bdce0 |
18-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
JNI is obsolete Change-Id: Ic89b9b8875af6ce13cd96d8c0c944e8878805093
MediaPlayer.c
|
5c8bd83295b2752bb7ac34f83dfb19dcdb1be5e5 |
16-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
SMP safety: can't peek/poke without a barrier Change-Id: I97a78322b7b93440ad989b7a6aef4ba3c48a2b7f
Engine.c
|
262059f71a68edc5e510427c63f5f1623d3672a8 |
12-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Directory re-organization Change-Id: I8e3f12a22e765d36ddefd87edf204735b25474f6
3DGroup.c
AudioPlayer.c
AudioRecorder.c
Engine.c
MediaPlayer.c
OutputMix.c
|