summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
Commit message (Collapse)AuthorAgeFilesLines
* audio_channel_in/out_mask_from_countGlenn Kasten2012-03-151-1/+1
| | | | | | | and avoid ambiguous term "channels" where it might be confusing as to whether it is a channel mask or channel count Change-Id: I744fa08ccb6001a98c97bd638d2c9d56836c4234
* Defines MediaPlayer APIs to support multiple audio/video/timedtextInsun Kang2012-03-151-1/+2
| | | | | | | | | | | | | | | | | | tracks. o Newly introduced APIs are (MediaPlayer): getTrackInfo() / addExternalSource() / enableTrack() / disableTrack(). o Timed text tracks are supported only, for now. o TODOs: - Define the audio/video behavior for enableTrack and disableTrack. - Refactoring AwesomePlayer / TimedTextDriver so that all types of track index can be managed in the correct order and be ready for supporting audio/video tracks. (MediaExtractor and MediaSource for text file might be necessary.) Change-Id: Idb85e1b3f2ed49a64f377d05472dd6663ce94e07
* Merge "Gapless playback, step 1."Marco Nelissen2012-03-132-8/+148
|\
| * Gapless playback, step 1.Marco Nelissen2012-03-132-8/+148
| | | | | | | | | | | | | | Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly by reusing the initial AudioTrack for subsequent players. Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
* | Switched to use the header files in /frameworks/nativeJames Dong2012-03-122-7/+7
| | | | | | | | | | | | | | | | and deleted the duplicate header files in /frameworks/base o related-to-bug: 6044887 Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
* | Use audio_policy_output_flags_t consistentlyGlenn Kasten2012-03-091-2/+2
|/ | | | | | | | | | This affects: - IAudioFlinger::openOutput - AudioTrack::AudioTrack - AudioTrack::set - apps that call these Change-Id: I26fb281bac6cb87593d17697bc9cb37a835af205
* Merge "MediaPlayerService: fix AudioSink latency"Eric Laurent2012-03-062-5/+3
|\
| * MediaPlayerService: fix AudioSink latencyEric Laurent2012-03-052-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The AudioSink latency is currently cached when the associated AudioTrack is created. However, the AudioTrack latency can change if the AudioTrack is moved from one output stream to another. The AudioPlayer must also periodically update its view of the latency as it is needed to compensate the real audio time used for A/V sync. This fixes an A/V sync problem seen when switching A2DP on and off while playing a video. Change-Id: I28b24049ca114e1af3e24791dcc900f463536ba4
* | Add channel mask in AudioSinkJean-Michel Trivi2012-03-024-10/+23
|/ | | | | | | | | | | | | | | | Add support for specifying a channel mask when opening an AudioSink. This parameter does not replace the channel count parameter in order to not have to duplicate the logic to derive a mask from the channel count everywhere an AudioSink is used without a known mask. A mask of 0 (CHANNEL_MASK_USE_CHANNEL_ORDER) means a mask will be automatically derived from the number of channels. Update existing AudioSink implementations to use the channel mask, and users of AudioSink to specify the mask if available, and CHANNEL_MASK_USE_CHANNEL_ORDER otherwise. Change-Id: Ifa9bd259874816dbc25ead2b03ea52e873cff474
* Switch the way we configure for MediaPlayer retransmission.John Grossman2012-03-012-46/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a cherry-pick of I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd with merge conflicts addressed by hand and additional changes made in response to code review feedback. Move in the direction of a more publishable API for configuring a media player for retransmission. It used to be that we used a custom invoke and a modified URL (prefixed with aahTX://). There are many issues with this technique and it was never meant to stand the test of time. This CL gets rid of all that. A new (but currently hidden) method was introduced to the java level MediaPlayer API, called setRetransmitTarget(InetSocketAddress), which allows an app writer to set the retransmit target. For now, this method needs to be called before a call to setDataSource (which is pretty unusual for the MediaPlayer API) because this mid level code uses this as a cue to instantiate an aahTX player instead of relying on the data source to select a player. When retranmit functionality becomes part of the existing android player implemenation, this set-retrans-before-set-data-source behavior can go away, along with the aahTX player itself. Change-Id: I3b46c5227bbf69acb2f3cc4f93cfccad9777be98 Signed-off-by: John Grossman <johngro@google.com>
* fix libgui header locationMathias Agopian2012-02-274-6/+1
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* Add new APIs AMessage::(set|find)Buffer to make it safer to passAndreas Huber2012-02-224-19/+11
| | | | | | ABuffer objects through messages. Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
* Merge "Implementation of a java media codec interface and associated tools."Andreas Huber2012-02-221-3/+3
|\
| * Implementation of a java media codec interface and associated tools.Andreas Huber2012-02-221-3/+3
| | | | | | | | Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
* | Allow to record time lapse videos without using setProfile()James Dong2012-02-221-0/+6
|/ | | | | | | | o also added a check on whether capture rate was set before starting time lapse video recording. o related-to-bug: 6045507 Change-Id: I8e1fdc8e8931e2684ab3822dc6260db44658e87d
* Upintegreate AAH TX and RX players from ICS_AAHJohn Grossman2012-02-162-4/+38
| | | | | | | | Upintegrate the android at home TX and RX players developed in the ICS_AAH branch. Change-Id: I8247d3702e30d8b0e215b31a92675d8ab28dccbb Signed-off-by: John Grossman <johngro@google.com>
* Playback rate on MediaPlayerJean-Michel Trivi2012-02-133-2/+29
| | | | | | | | | Add support for modifying the playback rate of a MediaPlayer by altering the sample rate of its AudioTrack. The playback rate is expressed in permille, where 1000 is the playback at normal speed. Change-Id: I981d060ab32f7bae7a767e82c60c88ae635dceed
* Move away from MediaDebug and use ADebug insteadJames Dong2012-02-101-8/+8
| | | | Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
* Fix incorrect includes of AudioTrack.hGlenn Kasten2012-01-183-3/+1
| | | | | | | Remove unnecessary includes of AudioTrack.h. Use forward declaration of class names in preference to #include when possible. Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
* Use audio_stream_type_t consistentlyGlenn Kasten2012-01-133-6/+6
| | | | | | | | | At native level it was a mixture of audio_stream_type_t, int, uint32_t, and uint8_t. Java is still int. Also fixed a couple of hard-coded -1 instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0 instead of AUDIO_STREAM_VOICE_CALL. Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
* Merge "Use audio_format_t consistently"Glenn Kasten2012-01-122-12/+12
|\
| * Use audio_format_t consistentlyGlenn Kasten2012-01-052-12/+12
| | | | | | | | | | | | | | | | Was int, uint32_t, uint16_t, and uint8_t with 2-bit bitfield. Also replace 0 by AUDIO_FORMAT_DEFAULT and replace 1 by AUDIO_FORMAT_PCM_16_BIT. Change-Id: Ia8804f53f1725669e368857d5bb2044917e17975
* | Rename LOG_ASSERT to ALOG_ASSERT DO NOT MERGESteve Block2012-01-091-1/+1
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/157519 Bug: 5449033 Change-Id: I8ceb2dba1b031a0fd68d15d146960d9ced62bbf3
* | Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-0810-117/+117
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* | Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-062-22/+22
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* | Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-046-12/+12
|/ | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-031-7/+7
| | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
* Merge "Fix build error when verbose logging is enabled"Glenn Kasten2011-12-151-1/+1
|\
| * Fix build error when verbose logging is enabledGlenn Kasten2011-12-151-1/+1
| | | | | | | | Change-Id: I30f4e5d35d1b24dce2e6152a13fd0fb61414a3e2
* | Fix the build. (Change LOGV to ALOGV)Owen Lin2011-12-121-1/+1
| | | | | | | | Change-Id: I14104540cfbd2bcdd7af1534db20554b88c4c0ce
* | am ebfce84f: am 68f592a8: Merge "Don\'t perform RTSP seeks right away but ↵Andreas Huber2011-12-092-4/+31
|\ \ | | | | | | | | | | | | | | | | | | queue them for 200ms" into ics-mr1 * commit 'ebfce84f7fd3e25fa08c36b155db91df90a59b3d': Don't perform RTSP seeks right away but queue them for 200ms
| * \ Merge "Don't perform RTSP seeks right away but queue them for 200ms" into ↵Andreas Huber2011-12-082-4/+31
| |\ \ | | | | | | | | | | | | ics-mr1
| | * | Don't perform RTSP seeks right away but queue them for 200msAndreas Huber2011-12-082-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and only execute the last one. Change-Id: I9ab342396ec9c9c03624a4b0306d1e180ceca000 related-to-bug: 5732960
* | | | am aa82c39b: am 0ba9380a: Merge "Fix Bitreader "putBits" implementation, ↵Andreas Huber2011-12-092-7/+21
|\ \ \ \ | |/ / / | | | / | |_|/ |/| | | | | | | | make sure we emulate timestamps" into ics-mr1 * commit 'aa82c39bdb4ad9c1fdcb09f3bea11be5197d3ce6': Fix Bitreader "putBits" implementation, make sure we emulate timestamps
| * | Fix Bitreader "putBits" implementation, make sure we emulate timestampsAndreas Huber2011-12-082-7/+21
| |/ | | | | | | | | | | | | if we don't receive npt time mapping from the rtsp server (i.e. live stream) Change-Id: I5147d665bd90c9a303ad6ffdafbf770f930f917c related-to-bug: 5660357
* | resolved conflicts for merge of 3d630e86 to masterAndreas Huber2011-11-302-2/+20
|\ \ | |/ | | | | Change-Id: I9eb7b7c1668b5f0de85ec8b1e9257cf1ec4d8b9e
| * Merge "Make sure we can properly shutdown even if" into ics-mr1Andreas Huber2011-11-292-2/+20
| |\
| | * Make sure we can properly shutdown even ifAndreas Huber2011-11-282-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a) one of the two decoders has a pending discontinuity b) the renderer holds on to all output buffers for that decoder c) the renderer is paused if all three conditions are met the decoder won't ask for more input data and therefore never see the discontinuity. To avoid this we briefly resume the renderer just before shutting down. Change-Id: I9e08af2a1eb4298d1cd00497d6aa33f4ad184e9a related-to-bug: 5655016
* | | am 074133b2: am 351143fb: Merge "Updated (internal) API for IStreamSource to ↵Andreas Huber2011-11-291-6/+11
|\ \ \ | |/ / | | | | | | | | | | | | | | | signal discontinuities" into ics-mr1 * commit '074133b260f8d12e484e93b9aa5a33a4983b7349': Updated (internal) API for IStreamSource to signal discontinuities
| * | Merge "Updated (internal) API for IStreamSource to signal discontinuities" ↵Andreas Huber2011-11-291-6/+11
| |\ \ | | | | | | | | | | | | into ics-mr1
| | * | Updated (internal) API for IStreamSource to signal discontinuitiesAndreas Huber2011-11-291-6/+11
| | |/ | | | | | | | | | | | | Change-Id: Idd4b9d8e7cec16b3e3c91c70e75144d42be30f96 related-to-bug: 5553055
* | | resolved conflicts for merge of 998a929a to masterAndreas Huber2011-11-292-20/+59
|\ \ \ | |/ / | | | | | | Change-Id: Id5cfbcf20e5ec28782cc88075040cf9edebfdfe8
| * | Finer granularity discontinuity support.Andreas Huber2011-11-282-20/+59
| |/ | | | | | | | | | | | | | | No clients can signal a format change on either audio or video track (or both) and a time discontinuity (timestamps changed) independantly. Change-Id: I3e6cf4e7c260e85759879d61a9b517f68431c22f related-to-bug: 5553055
| * am 19998120: Merge "Bug 5478024 drop after decode if can\'t drop before" ↵Glenn Kasten2011-11-091-1/+1
| |\ | | | | | | | | | | | | | | | | | | into ics-mr0 * commit '19998120f53caceb620f138c6eea182f1e693660': Bug 5478024 drop after decode if can't drop before
* | | MidiFile uses C++ Thread not createThreadEtcGlenn Kasten2011-11-162-7/+26
| | | | | | | | | | | | | | | | | | This permits leveraging future improvements to Thread. Change-Id: I323b709e935c47fa3c6041cb8b82fda994e78b56
* | | am bb1b7d5c: am 19998120: Merge "Bug 5478024 drop after decode if can\'t ↵Glenn Kasten2011-11-091-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | drop before" into ics-mr0 * commit 'bb1b7d5cb3c5502484269bfd0cdcd0d5a6d6bfad': Bug 5478024 drop after decode if can't drop before
| * \ \ am 19998120: Merge "Bug 5478024 drop after decode if can\'t drop before" ↵Glenn Kasten2011-11-091-1/+1
| |\ \ \ | | |/ / | |/| / | | |/ | | | | | | | | | into ics-mr0 * commit '19998120f53caceb620f138c6eea182f1e693660': Bug 5478024 drop after decode if can't drop before
| | * Bug 5478024 drop after decode if can't drop beforeGlenn Kasten2011-11-041-1/+1
| | | | | | | | | | | | Change-Id: Iaa64553be1a710da5d42be4e3a1e1d6dc873e371
| | * DO NOT MERGE Poll input data with a small timeout and don't consume a full core.Andreas Huber2011-11-031-1/+1
| | | | | | | | | | | | | | | Change-Id: I3c288698920fe6ead0df24a52330483609821a41 related-to-bug: 5549263
* | | resolved conflicts for merge of 26f70db9 to masterAndreas Huber2011-11-0810-34/+0
|\ \ \ | |/ / | | | | | | Change-Id: Ib1536b1a4c9eeff80e0726b3e61cee12057cd120