summaryrefslogtreecommitdiffstats
path: root/media/libmedia/mediaplayer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-151-1/+1
| | | | Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
* Merge "Remove unnecessary parameter"Glenn Kasten2012-12-211-3/+3
|\
| * Remove unnecessary parameterGlenn Kasten2012-12-181-3/+3
| | | | | | | | | | | | Just get the parameter on server side Change-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15
* | Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-181-2/+2
|/ | | | | | | | | | The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
* Add support for HLS playlists of type 'event'.Andreas Huber2012-11-271-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | related-to-bug: 6870049 Squashed commit of the following: commit eee2f3ba6bb7335f4e285632726db85645669929 Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 15:02:01 2012 -0800 Make everything a lot less verbose by default. Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3 commit 6bbdb837ed5bd88008e45efb8faf595e4051ba26 Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 14:34:46 2012 -0800 HLS now properly signals media time changes at discontinuities including the start of playback (which may not necessarily be at time 0 if the playlist is of type 'event' and hasn't completed yet). Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e commit 1555589832b1878a144a976a643e1af4d61f877c Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 14:32:28 2012 -0800 As part of a time discontinuity, clients of IStreamListener can now signal the corresponding media time after the discontinuity, i.e. the first PTS timestamp following the discontinuity will be considered equivalent to the specified media time and media buffers timestamped accordingly. Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92 commit 5c24c605c073a11c426d025b1e7478fc1ad8365a Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 13:00:56 2012 -0800 NuPlayer sources now expose flags() and can announce that duration may change (increase) dynamically, in which case duration will be polled at 1 second intervals and communicated to the upper layers. Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea commit ecb71de8e281e61971a2cd73e7161a97540bc357 Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 12:57:47 2012 -0800 Stop caching duration in MediaPlayer, duration could increase dynamically. Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791 commit 544aec5823e6d7a3e97e15b6b23546616bcd343e Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 08:46:28 2012 -0800 An attempt to add support for "event" style HLS playlists. Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60 Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
* Merge "Gapless playback, step 1."Marco Nelissen2012-03-131-0/+7
|\
| * Gapless playback, step 1.Marco Nelissen2012-03-131-0/+7
| | | | | | | | | | | | | | Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly by reusing the initial AudioTrack for subsequent players. Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
* | Whitespace and indentationGlenn Kasten2012-03-131-7/+7
|/ | | | | | | | | | | | | | Fix indentation to be multiple of 4. Make it easier to search: sp< not sp < to "switch (...)" instead of "switch(...)" (also "if" and "while") Remove redundant blank line at start or EOF. Remove whitespace at end of line. Remove extra blank lines where they don't add value. Use git diff -b or -w to verify. Change-Id: I966b7ba852faa5474be6907fb212f5e267c2874e
* Switch the way we configure for MediaPlayer retransmission.John Grossman2012-03-011-3/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-271-2/+0
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* Update commentsGlenn Kasten2012-02-141-1/+1
| | | | | | We no longer put the filename at start of file. Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
* Fix incorrect includes of AudioTrack.hGlenn Kasten2012-01-181-1/+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-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-2/+2
|\
| * Use audio_format_t consistentlyGlenn Kasten2012-01-051-2/+2
| | | | | | | | | | | | | | | | 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-18/+18
| | | | | | | | | | | | | | 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-2/+2
| | | | | | | 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-96/+2
|\ \ | |/ | | | | | | | | | | MediaPlayerService" into ics-mr0 * commit 'fc9592f8a5f2f75207e5e532655ac294eb2b334b': Stagefright: ANW::connect in MediaPlayerService
| * Stagefright: ANW::connect in MediaPlayerServiceJamie Gennis2011-10-261-96/+2
| | | | | | | | | | | | | | | | 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-57/+57
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* Handle setDataSource failures properly. #5261671Dave Burke2011-09-061-9/+9
| | | | Change-Id: Iea0aa474d1939db23da9aabdfae2081e834f30d9
* Require INTERNET permission for network-based content.Dave Burke2011-09-021-7/+27
| | | | | | Bug #1870981 Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
* Keep effects sessions active when the caller dies.Marco Nelissen2011-08-091-1/+7
| | | | | | | | Don't remove effects until the session they are in goes away or all AudioEffects have been explicitly released. This allows the control panel process to die without stopping the effects. Change-Id: I4496e5df080230ca1af149dec95c1309ab8ea888
* connect/disconnect is now called from our EGL wrapperMathias Agopian2011-08-011-4/+4
| | | | | | | | | | | the original connect/disconnect hooks are deprecated and replace by api_connect/api_disconnect. the original hooks are no no-ops. api_connect/api_disconnect is now only called from the android framework. Bug: 5057915 Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
* Merge "Log setVideoSurface() and setVideoSurfaceTexture() failures."James Dong2011-07-221-0/+2
|\
| * Log setVideoSurface() and setVideoSurfaceTexture() failures.James Dong2011-07-211-0/+2
| | | | | | | | | | Change-Id: Iaea34e74a0cf569fc85b926949253dea6baa6142 related-to-bug: 5063370
* | MediaPlayer: add a disconnect from ANativeWindowJamie Gennis2011-07-191-0/+2
|/ | | | | | | This change makes MediaPlayer::disconnect disconnect from the ANativeWindow once the player has been disconnected. Change-Id: I6744559030d1edc520cf77402d1f5ce841742340
* MediaPlayer: add ANativeWindow (dis)connect callsJamie Gennis2011-07-141-5/+101
| | | | | | | This change makes MediaPlayer connect to the ANativeWindow to which it is going to render video frames and disconnect when it is done. Change-Id: I88ab5c2fe62493aabdc84a283ff31634f795d415
* 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/+22
| | | | | | for bug 1982947 Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
* audio/media: convert to using the audio HAL and new audio defsDima Zavin2011-04-271-1/+3
| | | | | 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-2/+5
| | | | | | | | through listener during video playback. - Add OnTimedTextListener in the MediaPlayer For feature request 800939. Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
* Bug 3438258 Add SurfaceTexture as MediaPlayer sinkGlenn Kasten2011-02-231-0/+10
| | | | | | | | | | | | | | This change enables the use of a SurfaceTexture in place of a Surface as the video sink for an android.media.MediaPlayer. The new API MediaPlayer.setTexture is currently hidden. This includes: - New Java and C++ interfaces - C++ plumbing and implementation (JNI, Binder) - Stagefright AwesomePlayer and NuPlayer use ANativeWindow (either Surface or SurfaceTextureClient) Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
* Increase cache size and low-watermark threshold, alsoAndreas Huber2011-01-111-1/+3
| | | | | | | | | MediaPlayer now sends out MEDIA_INFO,MEDIA_INFO_VIDEO_TRACK_LAGGING messages to the JAVA client informing it how much (if at all) the video lags behind audio (arg2 is the media delay in ms). Change-Id: I6933f573d8597a35112e4b5ee0fcb826a7f6ddd1 related-to-bug: 3335220
* Fix an issue wherre error notification will not be sent after mediaplayer resetJames Dong2010-11-181-0/+3
| | | | | | bug - 3198642 Change-Id: Ieab13e12af9fdd0ad0873c522885e1350e7cd24c
* Remove all traces of legacy renderer support in stagefright.Andreas Huber2010-11-161-7/+0
| | | | Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
* Squashed commit of the following:Andreas Huber2010-10-291-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 0d5694ba2d399dd0869532a4d6256448185a1be0 Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:59:23 2010 -0700 suspend() and resume() methods on VideoView are back but don't do anything. They need to be back because they were public before. Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425 commit 16192891ed7d349ee97e47d1729d20a2d0d247b8 Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:47:05 2010 -0700 Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming." This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25. Conflicts: api/current.xml Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5 commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:44:16 2010 -0700 Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093." This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f. commit f2ed03550887986f39d36b5dabcd9e919949c7cf Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:44:08 2010 -0700 Revert "Release MediaPlayer if suspend() returns false." This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268. commit 441ecce678bd24e9660a72c8627b5bd94433ff8b Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:40:46 2010 -0700 manually. Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87 Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
* am 4f21e517: am b37fcbfd: Merge "Added getter for session Id to AudioSink" ↵Eric Laurent2010-10-101-0/+1
|\ | | | | | | | | | | | | | | | | into gingerbread Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c' * commit '4f21e517d09b9d793d20d64547df330fba705b3c': Added getter for session Id to AudioSink
| * Added getter for session Id to AudioSinkEric Laurent2010-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | Added a method to expose the audio session id at AudioSink interface so that the AudioPlayer in stagefright can retrieve it. Also: - Fixed audio effect send level not being initialized in mediaplayer. - Fixed compilation error when LOGV is enabled in mediaplayer JNI Change-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb
* | am 5c9f3579: am f30fae63: Merge "Add a check to track a problem the monkey ↵Marco Nelissen2010-09-171-0/+3
|\ \ | |/ | | | | | | | | | | | | | | script has been triggering." into gingerbread Merge commit '5c9f35799422d818f34f814c76c2acd8c939a40c' * commit '5c9f35799422d818f34f814c76c2acd8c939a40c': Add a check to track a problem the monkey script has been triggering.
| * Add a check to track a problem the monkey script has been triggering.Marco Nelissen2010-09-171-0/+3
| | | | | | | | Change-Id: If3896946d993cbab2442e17740f18efd7e753a3b
* | Squashed commit of the following:Andreas Huber2010-08-231-4/+9
|/ | | | | | | | | | | | | | | | | | | | | | commit 35cc68814a9537c31fde146e171e7b0bbdfe211e Author: Andreas Huber <andih@google.com> Date: Mon Aug 16 08:48:42 2010 -0700 Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else. commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 13:56:44 2010 -0700 The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise. commit 684972074b74318bdcb826ed9b5b0864d2d2e273 Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 09:34:35 2010 -0700 A first shot at supporting the new rendering APIs. Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
* Fix issue 2876124.Eric Laurent2010-08-041-1/+2
| | | | | | Allow calls to MediaPlayer::notify() in idle state to signal errors from JNI. Change-Id: I1515fe69766f0a926b76e15c4971317da2acd6a0
* Added support for auxiliary audio effects to AudioTrack and MediaPlayer.Eric Laurent2010-07-211-0/+26
| | | | | | | | Added methods to AudioTrack and MediaPlayer java classes to enable use of auxiliary audio effects. The effect can be attached and detached by specifying its ID and the send level controlled. Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
* Added Visualizer effect.Eric Laurent2010-07-071-57/+0
| | | | | | | | | | | | | | The visualizer enables application to retrieve part of the currently playing audio for visualization purpose. It is not an audio recording interface and only returns partial and low quality audio content as a waveform or a frequency representation (FFT). Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method. This commit also includes a change in AudioEffect class: - the enable()/disable() methods have been replaced bya more standard setEnabled() method. - some fixes in javadoc Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
* Added support for audio sessions in MediaPlayer and AudioTrack.Eric Laurent2010-06-221-2/+24
| | | | | | Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks. Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
* Allow invoke in all the player states except idle and error.Nicolas Catania2010-03-111-2/+4
| | | | | | | | | | Previously invoke would work only after prepare but not when the player is in play or pause state (for instance). This new change just check that the player has been initialized and is not in the error state. Bug:2488931 Change-Id: I9b9f3679593a3b7697c1a84d993fdcd7e1693a90