summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge "Add ability to test supported content types to MediaDrm" into klp-devJeff Tinker2013-08-222-6/+9
|\ \ \ | |/ / |/| |
| * | Add ability to test supported content types to MediaDrmJeff Tinker2013-08-222-6/+9
| | | | | | | | | | | | | | | bug: 10244066 Change-Id: I317f05b146db962c271893f6208890a5a6c396f1
* | | Add MEDIA_STARTED/PAUSED/STOPPED events to media playersLajos Molnar2013-08-155-0/+50
|/ / | | | | | | | | | | | | | | | | | | | | | | This is needed for the MediaTimeProvider java interface, so it does not continually poll for current media time. Note: NuPlayer and AwesomePlayer do not correctly handle stop (pause instead), so for those we will signal PAUSED. Signed-off-by: Lajos Molnar <lajos@google.com> Change-Id: I3c61e1bda475f131323f475c18a42e3ec66c9ae1 Bug: 10326117
* | libmediaplayerservice: offload playback supportRichard Fitzgerald2013-07-262-84/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Main change is to how recycled tracks are used for gapless playback. If we are playing offloaded tracks that can't be recycled we don't open a new offloaded output until we have closed the previous one. This is because offloaded tracks are a limited resource so we don't want to spuriously create unnecessary instances. If the tracks cannot be recycled this means that the formats are incompatible and so the hardware most likely will also be unable to use the existing output channel for the new track. If we already have the maximum number of hardware offload channels open (which could be only one) then creation of the next output would fail if we attempted it while the previous output was still open. Change-Id: I4f5958074e7ffd2e17108157fee86329506730ea Signed-off-by: Eric Laurent <elaurent@google.com>
* | ANetworkSession and ParsedMessage are now part of stagefright foundation.Andreas Huber2013-07-182-5/+13
| | | | | | | | | | | | | | | | Also fixes some bugs in ParseMessage and adds "WebSocket" mode to ANetworkSession, something that's opt-in and should not affect existing clients of the API. Change-Id: I86d5748e0d818231d85d3590d86c2b41d4f8b1f1
* | Merge "Output more detailed error message if loading library fails"leozwang@google.com2013-07-173-1/+9
|\ \
| * | Output more detailed error message if loading library failsleozwang@google.com2013-07-173-1/+9
| | | | | | | | | | | | | | | | | | Bug: 9805979 Change-Id: I77b19d6a65ff9fb72e7428ce79b117628e4c8658
* | | Add commentsGlenn Kasten2013-07-101-1/+1
|/ / | | | | | | Change-Id: Ifbf3a46a4183c8abc0feee1c588953ab10303cc1
* | am 9f0e0597: am 7266bc80: am ca7f1609: Merge "Prevent double disconnects in ↵Jean-Baptiste Queru2013-07-081-0/+4
|\ \ | |/ | | | | | | | | | | RTSPSource" * commit '9f0e05978e236352fd2a4a7c6dce909755c36ead': Prevent double disconnects in RTSPSource
| * am 7266bc80: am ca7f1609: Merge "Prevent double disconnects in RTSPSource"Jean-Baptiste Queru2013-07-081-0/+4
| |\ | | | | | | | | | | | | * commit '7266bc80850dc327e9f18c27b81613f959399630': Prevent double disconnects in RTSPSource
| | * am ca7f1609: Merge "Prevent double disconnects in RTSPSource"Jean-Baptiste Queru2013-07-081-0/+4
| | |\ | | | | | | | | | | | | | | | | * commit 'ca7f160921a4a1a5da32ebe8fab1067bd8998a1f': Prevent double disconnects in RTSPSource
| | | * Prevent double disconnects in RTSPSourceFredrik Rosin2013-07-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent a null pointer from occuring by checking that we are not already disconnected before performing a disconnect, in case multiple disconnects have been issued. Change-Id: Ib88800cd246086fd57f77d10748d41b1aefe2084
* | | | am 9a25c012: am eced745a: Merge "Part of fix for TEE resource leaks when app ↵Jeff Tinker2013-07-072-1/+19
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | crashes" into jb-mr2-dev * commit '9a25c012915f2209fff1479b246ae8eba38c3eff': Part of fix for TEE resource leaks when app crashes
| * | | am eced745a: Merge "Part of fix for TEE resource leaks when app crashes" ↵Jeff Tinker2013-07-072-1/+19
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | into jb-mr2-dev * commit 'eced745af7d2d27a8c45e04eb071d4fb30cd3e48': Part of fix for TEE resource leaks when app crashes
| | * | Part of fix for TEE resource leaks when app crashesJeff Tinker2013-07-032-1/+19
| | | | | | | | | | | | | | | | | | | | bug: 9672606 Change-Id: I98cf65260d5e43d34e3897452f6f26ed2c89294e
* | | | Include what is neededGlenn Kasten2013-07-021-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove old includes. Header files only include other header files that they directly need themselves. Change-Id: Ic471386808d9f42ea19ccbd59cb50a5f83a89dd0
* | | | am 903871da: am 83790fcc: am bdf33c98: Merge "Fix compilation warning: ↵Glenn Kasten2013-06-281-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | incorrect format specifier for type \'ssize_t\'." * commit '903871da7a7c71b8718133e60e2f0835837b5f3f': Fix compilation warning: incorrect format specifier for type 'ssize_t'.
| * | | am bdf33c98: Merge "Fix compilation warning: incorrect format specifier for ↵Glenn Kasten2013-06-281-1/+1
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | type \'ssize_t\'." * commit 'bdf33c98912090176183d3e9b9a9217dbbdca6da': Fix compilation warning: incorrect format specifier for type 'ssize_t'.
| | * | Fix compilation warning: incorrect format specifier for type 'ssize_t'.Scott Fan2013-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'ssize_t {aka int}' [-Wformat] Change-Id: I823835a26320a3abb82f8dff9fbe82e5132e7556 Signed-off-by: Scott Fan <fancp2007@gmail.com>
* | | | Public API changes for audio offload support.Richard Fitzgerald2013-06-272-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: this does _not_ include all private member variables added to classes as part of offload support. Only public/protected functions and stubs functions/variables needed to make the changes buildable. - isOffloadSupported() added to audio policy service A stub implementation is required to build, this always returns false - setParameters() added to IAudioTrack A stub implementation is required to build, this always returns INVALID_OPERATION - CBlk flag for stream end - Change AudioSystem::getRenderPosition() to take an audio_output_t so caller can specify which output to query - Add AudioSystem::isOffloadSupported() This is fully implemented down to the AudioFlinger function AudioPolicyServer::isOffloadSupported() which is just a stub that always returns false. - Add EVENT_STREAM_END to AudioTrack interface. STREAM_END is used to signal when the hardware has actually finished playing all the data it was sent. - Add event type enumeration to media player interface AudioSink callbacks so that the same callback can be used to handle multiple types of event. For offloaded tracks we also have to handle STREAM_END and TEAR_DOWN events - Pass audio_offload_info_t to various functions used for opening outputs, tracks and audio players. This passes additional information about the compressed stream down to the HAL when using offload. For publicly-available APIs this is an optional parameter (for some of the internal and low-level APIs around the HAL interface it is mandatory) - Add getParameters() and setParameters() API to AudioTrack Currently dummy implementations. - Change AudioPlayer contructor so that it takes a set of bitflags defining what options are required. This replaces the original bool which only specified whether to use deep buffering. - Changes to StageFright class definition related to handling tearing-down of an offloaded track when we need to switch back to software decode - Define new StageFright utility functions used for offloaded tracks Currently dummy implementations. - AudioFlinger changes to use extended audio_config_t. Fills in audio_offload_info_t member if this info is passed in when opening an output. - libvideoeditor changes required to add the new event type parameter to AudioSink callback functions - libmediaplayerservice changes required to add the new event type parameter to AudioSink callback functions Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1 Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Eric Laurent <elaurent@google.com>
* | | | Use sp<AudioTrack> instead of raw AudioTrack *Glenn Kasten2013-06-032-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change prepares for the new implementation of AudioTrack client, which will require clients to use only sp<AudioTrack>, not raw AudioTrack *. A raw delete will cause a race condition during AudioTrack destruction. AudioTrack was made a RefBase by commit b68a91a70bc8d0d18e7404e14443d4e4020b3635 on 2011/11/15, when it was needed by OpenSL ES (for the callback protector). At that time, the only other client that was also converted from AudioTrack * to sp<AudioTrack> was android.media.AudioTrack JNI in project frameworks/base (file android_media_AudioTrack.cpp). Details: * Use .clear() instead of delete followed by = NULL. * ALOG %p need .get(). * sp<> don't need to be listed in constructor initializer, if initially 0. * Use == 0 for sp<> vs == NULL for raw pointers. * Use if (sp != 0) instead of if (raw). Change-Id: Ic7cad25795d6e862e112abdc227b6d33afdfce17
* | | | am f9bb8358: am b7319a7e: Update HTTP proxy configuration for all media ↵Andreas Huber2013-06-032-0/+9
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | playback inside stagefright. * commit 'f9bb8358e454be6dc88403171db7e0e182407f17': Update HTTP proxy configuration for all media playback inside stagefright.
| * | | am b7319a7e: Update HTTP proxy configuration for all media playback inside ↵Andreas Huber2013-06-032-0/+9
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | stagefright. * commit 'b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1': Update HTTP proxy configuration for all media playback inside stagefright.
| | * | Update HTTP proxy configuration for all media playback inside stagefright.Andreas Huber2013-05-312-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b related-to-bug: 8873723 (cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
| * | | am dd309b97: Merge "Handle the case where an asynchronous prepare was ↵Andreas Huber2013-04-252-0/+23
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | initiated and then" into jb-mr2-dev * commit 'dd309b97f3e30cb8ab30892b4bf6b5d824853a86': Handle the case where an asynchronous prepare was initiated and then
| | * | Handle the case where an asynchronous prepare was initiated and thenAndreas Huber2013-04-252-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the mediaplayer was reset. Change-Id: Ib241747c5dc002b88a3854569c1f8340b2a8ef41 related-to-bug: 8688986
| * | | am 628a8c0e: Merge "fix a race condition of MediaPlayerServce::Client::mClient"Andreas Huber2013-04-241-1/+1
| |\ \ \ | | |/ / | |/| | | | | | | | | | * commit '628a8c0ed91531468f5c615fea8745f63cc812aa': fix a race condition of MediaPlayerServce::Client::mClient
| | * | Merge "fix a race condition of MediaPlayerServce::Client::mClient"Andreas Huber2013-04-241-1/+1
| | |\ \
| * | | | Fix a typo that would cause us not to shutdown/flush the decoders inAndreas Huber2013-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | some cases. related-to-bug: 8630032 Change-Id: I8e94b53b34e137e827e9630c65f3252ea91e4ebd
| * | | | Guard against mLooper == NULL.Andreas Huber2013-04-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I01aa0e47b55d0dffe34525edf9f055a5cb4dc70f related-to-bug: 8620223
| * | | | Instead of returning an error, return an invalid duration (-1 ms)Andreas Huber2013-04-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if no duration information was available. This prevents us from entering ERROR state, effectively rendering the player instance useless. Change-Id: I602d2661ae8b8633360306c0ea9208fb11e2bf17 related-to-bug: 8596285
| * | | | Add liblogYing Wang2013-04-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Bug: 8580410 Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
| * | | | Merge "Implement async event callout from drm plugin to Java app" into ↵Jeff Tinker2013-04-052-2/+52
| |\ \ \ \ | | | | | | | | | | | | | | | | | | jb-mr2-dev
| | * | | | Implement async event callout from drm plugin to Java appJeff Tinker2013-04-032-2/+52
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b
| * | | | | Merge "MediaDrm API update" into jb-mr2-devJeff Tinker2013-04-022-25/+176
| |\ \ \ \ \ | | |/ / / /
| | * | | | MediaDrm API updateJeff Tinker2013-04-012-25/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clarify offline usage of sessions and keys and implement implement CryptoSession to support additional crypto use cases. Change-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc
| * | | | | Fix seek in response to OnPrepared() for HLS contentAndreas Huber2013-04-012-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0e52352845398a4db074e939487f6f6de94bd523 related-to-bug: 8225122
| * | | | | Fix valgrind error.Marco Nelissen2013-03-271-1/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The constructor calls reset(), which in turn calls stop(), which then accesses mCaptureTimeLapse before it has been initialized. Change-Id: Ia94ac740b9bd1a0389c72647a5639dd25320d92c
| * | | | Load crypto plugins from additional shared librariesJeff Tinker2013-03-222-38/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently crypto plugins are expected to be in libdrmdecrypt.so. When there are multiple plugins supporting different schemes, this approach requires source code integration across vendors which is unmanagable. Also, for integration with MediaDrm where the crypto keys are obtained from a drm server, the MediaCrypto plugin needs to interoperate with the MediaDrm plugin. This change allows {MediaCrypto, MediaDrm} pairs that are logically related to be implemented in a common shared library. Change-Id: I7f6638f29171f91609fc2d944396365568630b56
| * | | | Merge "Implementing MediaDrm APIs" into jb-mr2-devJeff Tinker2013-03-207-0/+619
| |\ \ \ \
| | * | | | Implementing MediaDrm APIsJeff Tinker2013-03-137-0/+619
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
| * | | | | Merge "remove uses of Surface in favor or IGraphicBufferProducer" into ↵Mathias Agopian2013-03-134-5/+5
| |\ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | jb-mr2-dev
| | * | | | remove uses of Surface in favor or IGraphicBufferProducerMathias Agopian2013-03-124-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
| * | | | | Squashed commit of the following:Andreas Huber2013-03-127-7/+42
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit f4edf442741886cdbe071e2d15f6e6247269f7c5 Author: Andreas Huber <andih@google.com> Date: Tue Mar 12 09:09:18 2013 -0700 Pass additional flags to the sink, use TCP by default in wolfiecast mode. Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092 commit 6302602ed280a38287f507159abfb40a1da38c5a Author: Andreas Huber <andih@google.com> Date: Tue Mar 12 08:51:58 2013 -0700 tweaks Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547 commit a38a860e4979ba563cadbaafa21b084439449d26 Author: Andreas Huber <andih@google.com> Date: Mon Mar 11 16:57:43 2013 -0700 Report average lateness all the way from NuPlayerRenderer... Change-Id: I2e7700703ae656515e44b9c25610d26c75778111 commit a7d49b11675ea88be4029dd8451d1649db94571d Author: Andreas Huber <andih@google.com> Date: Mon Mar 11 14:54:19 2013 -0700 Make TimeSyncer smarter, enable TunnelRenderer Change-Id: I27377a60cd8feb01589da456967fddd34532c20e commit 0f214c8ef68179f7b61512c37040939554013151 Author: Andreas Huber <andih@google.com> Date: Thu Mar 7 15:57:56 2013 -0800 convert source timestamps to sink timestamps, report lateness. Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e commit 04a4f8e16bad09157b5615a5fa45310438955832 Author: Andreas Huber <andih@google.com> Date: Thu Mar 7 09:00:28 2013 -0800 Sync time between sink and source. Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe commit aebe20e6184e3636a99082f8ece08e708015cb8d Author: Andreas Huber <andih@google.com> Date: Wed Mar 6 09:03:12 2013 -0800 play with back pressure Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947 Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
| * | | | CameraService and Stagefright: Support AppOpsEino-Ville Talvala2013-02-254-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Camera: - Signal to AppOpsService when camera usage starts and stops - Listen to permissions revocations and act on them - Currently just kill camera connection when permissions lost Stagefright: - Pass on client name, UID to camera as needed Bug: 8181262 Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
| * | | | Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-152-3/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
| * | | | Enable pause/resume for RTSP streamingRoger Jönsson2013-02-064-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a stream is paused, RTSP Pause is also sent to the server. Otherwise the buffering might continue until the memory runs out. When the stream is resumed, RTSP Play will be sent in order to resume the buffering. Change-Id: I5dc1761140827c532451638c3fd3f34271e5b9ab
| * | | | RTSP buffering improvementsRoger Jönsson2013-02-065-7/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added buffering start and end notifications for RTSP. MEDIA_INFO_BUFFERING_START is sent when buffering is started and MEDIA_INFO_BUFFERING_END is sent when the buffer has filled up. This patch also adds RTSP end of stream handling. EOS is signalled when BYE is received OR when detecting end of stream even if no actual EOS is received. Change-Id: I5cccb6845060ae6afd66d9f735b89da81476cd13
| * | | | HLS now properly publishes its "seekable" flags after connectionAndreas Huber2013-02-062-17/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | has successfully completed and a sufficient amount of data fetched, and only then signals that preparation is completed. Change-Id: I7684a14238b826909f518f2af506966e522dfcfc
| * | | | RTSP now properly publishes its "seekable" flags after connectionAndreas Huber2013-02-055-14/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | has successfully completed and only then signals that preparation is complete. Change-Id: I1a60f718e673fe1462c69369c40eafbed6a14326