summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaPlayerService.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* rename audio policy output flagsEric Laurent2012-04-181-2/+2
| | | | Change-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312
* Allow AudioTrack to start at nonzero positionMarco Nelissen2012-04-041-0/+4
| | | | | | | | | | When creating a new AudioTrack (not inheriting one from a previous play), the AudioSink should take the AudioTrack's position as the initial starting point for mBytesWritten, since otherwise NuPlayer's calculations will be off. Normally this position will be 0, but if the test code for 32 bit wraparound in AudioFlinger.cpp is enabled, it might be (much) larger. Change-Id: I1e4f906d529861c3dea996de8afc6dbd491589af
* New Crypto services talking to the new crypto "HAL".Andreas Huber2012-04-031-7/+1
| | | | | Change-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566 related-to-bug: 6275919
* Add gapless playback support for NuPlayerMarco Nelissen2012-04-021-4/+21
| | | | | | | | | This makes NuPlayer use a SkipCutBuffer when needed, and adds a new AudioSink method to retrieve the number of frames written so far, so NuPlayerRenderer can calculate how much data it can write without blocking. Also make some more methods const. Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
* AV Android make files changesJames Dong2012-03-281-2/+1
| | | | | | | o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc o remove some runtime dependencies to libandroid, libandroid_runtime, etc Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
* Provisional support for secure decryption of media streams.Andreas Huber2012-03-261-0/+12
| | | | Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
* Use NuPlayer for media playback everywhereAndreas Huber2012-03-221-0/+6
| | | | | | if media.stagefright.use-nuplayer is set to true. Change-Id: Ibb217e7d7d5195b7feeea557554fe78e1585744c
* Update commentsGlenn Kasten2012-03-191-1/+1
| | | | Change-Id: I327663a020670d0a72ff57bd0b682e2ce0528650
* 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
* Merge "Gapless playback, step 1."Marco Nelissen2012-03-131-4/+101
|\
| * Gapless playback, step 1.Marco Nelissen2012-03-131-4/+101
| | | | | | | | | | | | | | Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly by reusing the initial AudioTrack for subsequent players. Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
* | 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-061-4/+3
|\
| * MediaPlayerService: fix AudioSink latencyEric Laurent2012-03-051-4/+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-021-6/+17
|/ | | | | | | | | | | | | | | | 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-011-46/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Upintegreate AAH TX and RX players from ICS_AAHJohn Grossman2012-02-161-3/+36
| | | | | | | | 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-131-1/+24
| | | | | | | | | 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
* Use audio_stream_type_t consistentlyGlenn Kasten2012-01-131-1/+1
| | | | | | | | | 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-121-6/+6
|\
| * Use audio_format_t consistentlyGlenn Kasten2012-01-051-6/+6
| | | | | | | | | | | | | | | | 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 (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-20/+20
| | | | | | | | | | | | | | 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-061-3/+3
|/ | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* 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
* resolved conflicts for merge of 26f70db9 to masterAndreas Huber2011-11-081-8/+0
|\ | | | | | | Change-Id: Ib1536b1a4c9eeff80e0726b3e61cee12057cd120
| * Remove surface legacy APIs and code.Andreas Huber2011-10-281-8/+0
| | | | | | | | | | | | All surfaces are now supported through surface textures. Change-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6
* | am fc9592f8: am 08479cee: Merge "Stagefright: ANW::connect in ↵Jamie Gennis2011-10-281-1/+58
|\ \ | |/ | | | | | | | | | | MediaPlayerService" into ics-mr0 * commit 'fc9592f8a5f2f75207e5e532655ac294eb2b334b': Stagefright: ANW::connect in MediaPlayerService
| * am 08479cee: Merge "Stagefright: ANW::connect in MediaPlayerService" into ↵Jamie Gennis2011-10-281-1/+58
| |\ | | | | | | | | | | | | | | | | | | ics-mr0 * commit '08479ceeba56c460fb52f60a24df27776f1936c3': Stagefright: ANW::connect in MediaPlayerService
| | * Stagefright: ANW::connect in MediaPlayerServiceJamie Gennis2011-10-261-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | This change moves the ANativeWindow connect and disconnect logic from MediaPlayer to MediaPlayerService::Client. Bug: 5502654 Change-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d
* | | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-83/+83
|/ / | | | | | | | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* | am b3cdadb6: Merge "Check whether media recorder client exists before ↵James Dong2011-10-191-5/+7
|\ \ | |/ | | | | | | | | | | dumping." into ics-mr0 * commit 'b3cdadb639027f62c7c1637ca962a70d2d1f3b4d': Check whether media recorder client exists before dumping.
| * Check whether media recorder client exists before dumping.James Dong2011-10-181-5/+7
| | | | | | | | | | Change-Id: I1f3a644a958975e4cf6c02099c53e30cc4d2fd82 related-to-bug: 5477177
* | NuPlayer is now taking on the task of streaming over RTSP.Andreas Huber2011-10-131-0/+4
|/ | | | Change-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a
* Fix issue 5373048: AudioCache decode errorsEric Laurent2011-09-271-2/+11
| | | | | | | | When decoding a file for the SoundPool, do not reject the entire file in case of error but return what was decoded so far instead. Change-Id: Iff199a1b6a4c8e064e42a0dfe0704e0ae36a27fd
* Require INTERNET permission for network-based content.Dave Burke2011-09-021-54/+24
| | | | | | Bug #1870981 Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
* Add a null check to handle failure of android::createPlayerJason Simmons2011-08-121-1/+3
| | | | Change-Id: Id56bd0c16104e46d8dc71f13d8a44aefe251fad4
* Network traffic accounting for chromium stack support in mediaserver.Ashish Sharma2011-08-051-4/+5
| | | | | | | - Atribute network activity to uid calling the mediaplayer - Enables logging of chromium network stack in logcat Change-Id: I2d28c8392248a056b3cee305dd4d4475ebba4337
* Charge network traffic to the uid of the process using the MediaPlayer.Andreas Huber2011-07-011-5/+22
| | | | | Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067 related-to-bug: 4517282
* Make dumpsys(media.player) more useful by having AwesomePlayer populate it.Andreas Huber2011-06-081-0/+3
| | | | Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
* Remove dead code related to gettidGlenn Kasten2011-06-031-23/+3
| | | | | | The gettid system call is always available now. Change-Id: Ib78b41781eda182dc8605daf456bbea7ff7c2dc0
* Revert "Use AudioTrack::event_type not int in callback"Glenn Kasten2011-06-011-1/+1
| | | This reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1
* Use AudioTrack::event_type not int in callbackGlenn Kasten2011-06-011-1/+1
| | | | Change-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c
* Use channel mask instead of channel count for track creationJean-Michel Trivi2011-06-011-1/+1
| | | | | | | | | | | | | | | | | Record and playback objects (resp AudioRecord and AudioTrack) are created using a channel mask, but this information is lost in the mixer because only the channel count is known to AudioFlinger. A channel count can always be derived from a channel mask. The change consists in: - disambiguiting variable names for channel masks and counts - passing the mask information from the client to AudioFlinger and the mixer. - when using the DIRECT ouput, only verifying the format of the track is compatible with the output's for PCM. Change-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e
* update for new audio.h header locationDima Zavin2011-05-121-1/+1
| | | | | Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876 Signed-off-by: Dima Zavin <dima@android.com>
* Add setParameter/getParameter to MediaPlayer API.Gloria Wang2011-04-291-0/+14
| | | | | | for bug 1982947 Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
* audio/media: convert to using the audio HAL and new audio defsDima Zavin2011-04-271-3/+5
| | | | | Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5 Signed-off-by: Dima Zavin <dima@android.com>
* - Add another parameter in notify() to be able to send timed text sampleGloria Wang2011-04-131-3/+5
| | | | | | | | through listener during video playback. - Add OnTimedTextListener in the MediaPlayer For feature request 800939. Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
* This reverts an earlier change 4aeec2da39fce4de9b07b694d59fd308ffb3d491Andreas Huber2011-04-041-1/+8
| | | | | | | | | | Instead of returning 0-filled buffers after EOS from AudioTrack we do this work in AudioOutput instead. That way the EOS signal (0 frames returned) is preserved in AudioCache which otherwise would lead to a heap size overflow filling everything with zeroes. Change-Id: I7e07429ba887957a4340dd4b21eef4bba76248cd related-to-bug: 3514073
* Enable http-live support for https:// urls, fix a parsing issue.Andreas Huber2011-03-211-1/+2
| | | | | Change-Id: I2284e1d62babde7f739fba6a3cb4e2619f0e62f9 related-to-bug: 4148291
* Add memory leak tracking/debugging code to drm serverJames Dong2011-03-141-136/+2
| | | | | | bug - 4099038 Change-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66