summaryrefslogtreecommitdiffstats
path: root/media/libmedia
Commit message (Collapse)AuthorAgeFilesLines
...
| * DO NOT MERGE: Squashed commit of the following:Andreas Huber2009-11-052-63/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 12:02:31 2009 -0800 DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback. commit 991832fe4dc012e51d3d9ed8d647c7f09991858f Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:24:11 2009 -0800 DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though. commit cec45cf302d9218fe79956cbe8a462d7ca3a10bb Author: Andreas Huber <andih@google.com> Date: Mon Oct 26 16:11:54 2009 -0700 DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to "Loaded" in order to properly free any allocated buffers. commit 34a1e885ef9113d68acbc26d36fcc47fdebbed84 Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:10:49 2009 -0800 DO NOT MERGE: Fix heap corruptin in OMXNodeInstance. commit 5a47f7439a1298b330541a7e4e647a8b44487388 Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:08:19 2009 -0800 DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec. commit 45bed64722501b9f411a2940aff5aff4cc4d2e98 Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:02:23 2009 -0800 DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts. commit 6738e306a50196f31a73d4fc7b7c45faff639903 Author: Andreas Huber <andih@google.com> Date: Thu Oct 15 13:46:54 2009 -0700 DO NOT MERGE: Reimplement the OMX backend for stagefright. Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup. Changed APIs to conform to the rest of the system.
* | am 67b69292: Merge change I93f500a5 into eclairEric Laurent2009-11-055-110/+225
|\ \ | |/ | | | | | | | | | | Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-mr2 * commit '67b692920c18f99b096dce285adc6f7439fa866c': Fix issue 2203561: Sholes: audio playing out of earpiece.
| * Fix issue 2203561: Sholes: audio playing out of earpiece.Eric Laurent2009-11-045-110/+225
| | | | | | | | | | | | | | | | | | | | | | Create a new IAudioTrack interface to AudioFlinger when start() fails due to a broken pipe error. Do the same if start fails due to the same error after time out in obtainBuffer(). Do not indicate that the AudioTrack is started to AudioPolicyManager if IAudioTrack start fails. This avoids that an AudioTrack keeps a dead IAudioTrack after a media server crash. Same modifications for AudioRecord. Add a flag to ToneGenerator indicating that the callback thread can call Java. Without it, when the media server crashes and restarts, the AudioSystem error callback will crash in JNI if the IAudiotrack is created from AudioTrack callback thread.
* | am bf96aaad: Merge change Icf10db28 into eclairEric Laurent2009-10-242-1/+24
|\ \ | |/ | | | | | | | | | | Merge commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba' into eclair-mr2 * commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba': Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
| * Merge change Icf10db28 into eclairAndroid (Google) Code Review2009-10-242-1/+24
| |\ | | | | | | | | | | | | * changes: Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
| | * Fix issue 2192181: AudioFlinger must provide separated methods to set ↵Eric Laurent2009-10-212-1/+24
| | | | | | | | | | | | | | | | | | | | | VOICE_CALL stream volume and down link audio volume. Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService. Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
* | | am dd28d563: Fix 2209967 Tonegenerator: mutex not release in startTone() ↵Eric Laurent2009-10-231-4/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | upon timeout waiting for the stop sequence to complete. Merge commit 'dd28d56368441537ec5eb42150516416fdbf10ad' into eclair-mr2 * commit 'dd28d56368441537ec5eb42150516416fdbf10ad': Fix 2209967 Tonegenerator: mutex not release in startTone() upon timeout waiting for the stop sequence to complete.
| * | Fix 2209967 Tonegenerator: mutex not release in startTone() upon timeout ↵Eric Laurent2009-10-231-4/+6
| |/ | | | | | | | | | | | | waiting for the stop sequence to complete. Unlock mLock mutex when exiting upon wait stop timeout condition. Increase timeout delays to avoid timing out when A2DP exits standby.
* | Reimplement the OMX backend for stagefright.Andreas Huber2009-10-162-61/+45
| | | | | | | | | | | | Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup. Changed APIs to conform to the rest of the system.
* | Some decoders will return an error on OMX_EmptyThisBuffer to indicate that ↵Andreas Huber2009-10-081-8/+13
|/ | | | they don't support the media format, deal with this.
* Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too ↵Eric Laurent2009-10-061-11/+23
| | | | | | | | | | high). This change is a complement to the main fix in kernel driver for the same issue (partner change #1250). It removes clicks sometimes heard after the end of the tones while audio flinger is sending 0s to the audio output stream. The problem was that the sleep time between two writes was more than the duration of one audio output stream buffer which could cause some underrun. Also fixed a recent regression in ToneGenerator that made that the end of previous tone was repeated at the beginning of current one under certain timing circumstances when the maximum tone duration was specified.
* Music visualizer support hack.Marco Nelissen2009-10-063-3/+79
| | | | This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
* Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes ↵Eric Laurent2009-09-241-8/+19
| | | | | | | | | | or over A2DP. When the AudioTrack callback notification size is relatively high (Which is the case on Sholes and over A2DP), it is likely that the end of tone is reached during the first callback. In this case, the AudioTrack is stopped before exiting the callback which causes 2 problems: - 1: If the AudioFlinger thread is scheduled before we exit the ToneGenerator callback, the track can be stopped and reset before the data is actually marked as present in the buffer by the AudioTrack callback => no audio will be processed by AudioFlinger. - 2: In this case, the data write index in the AudioTrack buffer is incremented after the track was reset by the AudioFlinger which leaves unplayed data in the buffer. This data will be played the next time the AudioTrack is started if not flushed in between. The fix consists in adding an intermediate state to ToneGenerator state machine so that we exit the callback function when the stop condition is reached and stop the AudioTrack the next time we execute the callback.
* Added an API IOMX::createRendererFromJavaSurface.Andreas Huber2009-09-152-0/+26
| | | | This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
* Fix issue 2107584: media server crash when AudioFlinger fails to allocate ↵Eric Laurent2009-09-093-9/+26
| | | | | | | | memory for track control block. AudioFlinger: verify that mCblk is not null before using it in Track and RecordTrack contructors. IAudioFlinger: check result of remote transaction before reading IAudioTrack and IAudioRecord. IAudioTrack and IAudioRecord: check result of remote transaction before reading IMemory.
* Fix issue 1992233: DTMF tones on Sholes is really long.Eric Laurent2009-09-081-5/+24
| | | | | Add a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged. Also modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.
* Fix issue 2045911: Camera Shutter tone does not play correctly while ↵Eric Laurent2009-08-271-0/+10
| | | | | | listening to music. Add the possibility to delay routing and volume commands in AudioPolicyClientInterface. The delay is not blocking for the caller.
* Support for marshalling pointers / intptr_t in Parcel.Andreas Huber2009-08-171-54/+44
| | | | Some refactoring to eliminate code duplication in Parcel implementation.
* Squashed commit of the following:Andreas Huber2009-08-171-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 5bb012f0065f7ffaaeb4f569d71f0e3a8d6b19c3 Author: Andreas Huber <andih@google.com> Date: Fri Aug 14 10:40:08 2009 -0700 An attempt at fixing export using the qcom encoders. More quirks. commit 0690e76bfa48118a68287ccf1bbfa82febaa620c Author: Andreas Huber <andih@google.com> Date: Fri Aug 14 09:08:28 2009 -0700 Callbacks are now dispatched from a separate thread in OMX. commit c6571a039526df29b6343f9a1971dbc019088c61 Author: Andreas Huber <andih@google.com> Date: Thu Aug 13 15:42:25 2009 -0700 Massive API changes throughout stagefright, smart pointers everywhere. commit 900612af6a0555664d9ba195112cd859491265f4 Author: Andreas Huber <andih@google.com> Date: Thu Aug 13 13:33:12 2009 -0700 OMXCodecs now properly shutdown. commit 96732f05e1b0603dcd1b11f16a23512592eeb4f5 Author: Andreas Huber <andih@google.com> Date: Thu Aug 13 12:04:04 2009 -0700 More work on JPEG decoding using the hardware OMX component. commit 63839a073ac393e3a130434ba467969053b694ad Author: Andreas Huber <andih@google.com> Date: Wed Aug 12 13:13:31 2009 -0700 An attempt to drive the JPEG decoder OMX node. commit 3ac2fe5ab2926eda81b2123610b2434c645294ff Author: Andreas Huber <andih@google.com> Date: Tue Aug 11 16:38:21 2009 -0700 Renamed StateMachine to OMXCodec and put it in its proper place. commit 247da75a96bf8881956413023dd49a84d5b4f5b2 Author: Andreas Huber <andih@google.com> Date: Tue Aug 11 16:06:19 2009 -0700 Statemachine is now a full-fledged MediaSource. commit 045244f6771fa0b9b329495c953afda900a84b71 Author: Andreas Huber <andih@google.com> Date: Fri Aug 7 09:16:54 2009 -0700 Properly setup the input format when exporting to AMR audio. commit 271b984cb32c5cd9e46e3f90ae121f334e4b8da9 Author: Andreas Huber <andih@google.com> Date: Thu Aug 6 09:59:38 2009 -0700 Added some code to test audio encoding to the OMX harness. commit 79af4748e4af33bd66d3fbac606e332a69741cf4 Author: Andreas Huber <andih@google.com> Date: Wed Aug 5 14:36:22 2009 -0700 Merge the old OMXDecoder and the new, shiny, StateMachine code. commit 91cf5dd77a8762bc10a0b2ffce35e3bbeb262231 Author: Andreas Huber <andih@google.com> Date: Tue Aug 4 17:41:43 2009 -0700 A new harness to test OMX node compliance (and quirks).
* Fix issue 2045983 ToneGenerator: fix void statement.Eric Laurent2009-08-111-1/+1
| | | | | There is a void statement at line 917 of ToneGenerator.cpp: mState == TONE_IDLE; This problem is harmless as in current code this execution path is never taken; it can only happen if a "new" operator fails in prepareWave() which is a case we usually consider as unlikely in android audio framework.
* Expose a variation of the createRenderer API that works on a plain Surface.Andreas Huber2009-08-101-0/+13
|
* Deprecate/remove now unused socketpair ipc communication in favour of ↵Andreas Huber2009-08-101-43/+0
| | | | exclusive binder use.
* Merge change 9674Android (Google) Code Review2009-08-071-4/+4
|\ | | | | | | | | * changes: Fix problem in AudioTrack with 8 bit PCM and direct output.
| * Fix problem in AudioTrack with 8 bit PCM and direct output.Eric Laurent2009-08-041-4/+4
| | | | | | | | Do not perform 8 to 16 bit conversion in AudioTrack write() and processAudioBuffer() if direct output flag is set.
* | Fix issue 2001214: AudioFlinger and AudioPolicyService interfaces should not ↵Eric Laurent2009-08-074-150/+106
|/ | | | | | | use pointers as handles to inputs and outputs. Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces. AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
* The IOMX interface now instantiates IOMXRenderers to hide the details of ↵Andreas Huber2009-07-311-0/+92
| | | | hardware accelerated blitting.
* Fix issue 1795088 Improve audio routing codeEric Laurent2009-07-239-333/+1545
| | | | | | | Initial commit for review. Integrated comments after patch set 1 review. Fixed lockup in AudioFlinger::ThreadBase::exit() Fixed lockup when playing tone with AudioPlocyService startTone()
* Added native metadata support.niko2009-07-222-18/+187
| | | | | | | | | | | | | | | | | | | | | | Metadata.java: Fixed typo 8k != 8092. The comment was correct though. In Metadata.h, the new Metadata class is declared in the ns android::media to limit the chances of conflict with other packages. The MetadataType in MediaPlayerInterface is gone and moved to Metadata as an inner typedef. Similarly the SortedVector<MetadataType> instance have been replace by a new type Metadata::Filter. All the keys declared in the java counterpart are also in Metadata.h. Metadata.cpp: Contains the implementation of the native metadata packing. There an associated change in the opencore package that should go in at the same time as this one.
* Squashed commit of the following:Andreas Huber2009-07-163-4/+583
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 8d179995654c19d9094e51989dc84ed0deba6e04 Author: Andreas Huber <andih@google.com> Date: Tue Jul 14 16:30:40 2009 -0700 Protect stagefright code with BUILD_WITH_STAGEFRIGHT build-define. commit 99b41acb58c34e8f024c30c833a09fd7b31c4e1f Author: Andreas Huber <andih@google.com> Date: Tue Jul 14 14:06:00 2009 -0700 OMX::list_nodes API, stagefright --list now lists all available OMX components. commit 94a74c5b24aae6d7e446fff83d62ae3a57dc351b Author: Andreas Huber <andih@google.com> Date: Mon Jul 13 16:04:29 2009 -0700 Reenabled "record" commandline application to test encoding, support for h263 codec specific data when writing to .mp4. commit d363dd74f611577567c66d25900d6264c306468c Author: Andreas Huber <andih@google.com> Date: Mon Jul 13 10:59:58 2009 -0700 Make non-socket communication in IOMX the default. commit e89fc82c4fd138c88339887baf72f1d0e67f8660 Author: Andreas Huber <andih@google.com> Date: Mon Jul 13 10:32:33 2009 -0700 The OMX interface now optionally supports communication through the binder only (no sockets involved) commit 28611de11223fba65299787cdd33f7fdbd6a60a3 Author: Andreas Huber <andih@google.com> Date: Fri Jul 10 15:09:13 2009 -0700 Split off the logic to render to a Surface (not ISurface!) into SurfaceRender.{cpp,h} commit c0cfa885faaeb17d3fc5436f6447b61708bd6fe1 Author: Andreas Huber <andih@google.com> Date: Fri Jul 10 12:21:46 2009 -0700 Fix display dimensions vs. decoded dimensions display issues, unfortunately breaks software rendering a bit... commit ae209a2b5d09caed5dd383c910f238926aaa8fc6 Author: Andreas Huber <andih@google.com> Date: Fri Jul 10 09:33:29 2009 -0700 Simple video decoder performance test in "stagefright" commandline tool. commit 59fe7840111d6f46dd3c48f4950146aed962dbd2 Author: Andreas Huber <andih@google.com> Date: Thu Jul 9 16:05:12 2009 -0700 StagefrightPlayer: Properly publish video dimensions by notifying the listener. commit 51b6598f0e47be5e12d77f1d14e111e71c593638 Author: Andreas Huber <andih@google.com> Date: Thu Jul 9 11:38:15 2009 -0700 MediaPlayerInterface::AudioSink now supports the specification of a callback for pull-based audio. commit 31ce53375d748da3e7d30e993ce89dae97fd65ea Author: Andreas Huber <andih@google.com> Date: Wed Jul 8 17:23:37 2009 -0700 Proper support for pushing audio to a specified AudioSink interface. Still not bulletproof: video falls behind frequently. commit a23e312b10631a5d47f5c9831205beac6b84ab36 Author: Andreas Huber <andih@google.com> Date: Wed Jul 8 15:10:13 2009 -0700 IGenesisPlayer and friends are no more, java interface now uses local playback instead of playing inside the media server process. commit 42ee5c06ab5ba1c16f50472b0b26a0526635c73c Author: Andreas Huber <andih@google.com> Date: Wed Jul 8 13:17:03 2009 -0700 MP3 extractor now supports seeking (only fixed bitrate files currently supported) commit 96a790405763bfa738d1c6845c99a9fdf579b66f Author: Andreas Huber <andih@google.com> Date: Tue Jul 7 10:53:54 2009 -0700 Keeping up-to-date with new master-gl changes, removing CameraSource for now, removing unnecessary commandline utilities from the build. commit 6c9dcb7c628c0347154dd7f37913a3a5f04deb99 Author: Andreas Huber <andih@google.com> Date: Mon Jul 6 16:40:02 2009 -0700 Finally take advantage of the fact that the Qcom OMX decoders already place the output buffers into memory accessible by the hardware yuv converter and avoid extra allocations and memcpys in that case. Split of the render logic into subclasses of VideoRenderer. commit e8d46e81cffc15ffb0bdf03f511e4a4497ca7621 Author: Andreas Huber <andih@google.com> Date: Mon Jul 6 12:18:29 2009 -0700 Added a few more cases of valid MPEG4 files to the sniffer, fixed end of stream notifications in MPEG4 files. commit 88bffc5ed4033a607080f8777a1c0ec9e3e079de Author: Andreas Huber <andih@google.com> Date: Thu Jul 2 12:25:03 2009 -0700 MediaPlayerImpl now properly pauses/resumes instead of tearing down the decoder chains and starting back up from the beginning. commit 732aa0a87c7e8d8a10776b275712649954962414 Author: Andreas Huber <andih@google.com> Date: Wed Jul 1 14:58:56 2009 -0700 Remove pthread_mutex_* and pthread_cond_* in favour of Mutex and Condition. commit 669e5944b2fe0542a3b8dba0c441a94503e99fb0 Author: Andreas Huber <andih@google.com> Date: Wed Jul 1 14:43:02 2009 -0700 Proper support for end-of-stream signalling of MediaSources. commit afb038f2dc594c742e554b2d42b86ffc7434e3fc Author: Andreas Huber <andih@google.com> Date: Tue Jun 30 16:48:03 2009 -0700 Support for the "sniffing" of datasources to determine their probable mime type (along with confidence). Slightly refactored the MP3Extractor to share common code with the sniffer. commit ed3644b8bd56807e1db4b32433a93a2467f1f3c5 Author: Andreas Huber <andih@google.com> Date: Fri Jun 26 13:27:52 2009 -0700 I don't think prepare should automatically start the player. commit 11eb9b49dc4a0819d366682817cba68613f4fe12 Author: Andreas Huber <andih@google.com> Date: Fri Jun 26 11:09:22 2009 -0700 Somewhat better timing information implemented in the MP3Extractor. commit cab023a1751735c0ed26c8493498a91d8644c6c9 Author: Andreas Huber <andih@google.com> Date: Thu Jun 25 15:41:56 2009 -0700 Initial checkin for support of mp3 content, extraction and playback. Media extractors now abstracted in MediaExtractor baseclass. commit 40f4146bb3c647e56690dd9b0fa3ffdea60030dc Author: Andreas Huber <andih@google.com> Date: Wed Jun 24 10:41:12 2009 -0700 Make sure we only allocate surface buffers if there is video to be played. commit 7f85e7d92fe81740e102e09905b19354f4ac178e Author: Andreas Huber <andih@google.com> Date: Wed Jun 24 10:19:32 2009 -0700 Clean up a failed merge and implement stub for new API in MediaPlayerBase. commit f0e9d494a4c03402ea7b54891848ca5a50c421b2 Author: Andreas Huber <andih@google.com> Date: Fri Jun 12 15:38:03 2009 -0700 Support yuv420->rgb565 conversion if hardware color conversion is unavailable. commit 87223248b3099cd5261b94169f84cfd1eba56a8f Author: Andreas Huber <andih@google.com> Date: Fri Jun 12 09:35:56 2009 -0700 Remove unimplemented and currently unnecessary blocking option from MediaSource::ReadOptions. commit e07e651f0325892b797f3eb64dbeca0f317afdfd Author: Andreas Huber <andih@google.com> Date: Wed Jun 10 16:26:42 2009 -0700 Enable assertions in HTTPDataSource. commit 0dc97adebea1721156880f4b3d5c70f8d50c53b2 Author: Andreas Huber <andih@google.com> Date: Wed Jun 10 12:34:39 2009 -0700 delete foo. commit 7f05845dda496e7defee284d32509d127e785784 Author: Andreas Huber <andih@google.com> Date: Wed Jun 10 12:34:08 2009 -0700 added foo. commit e432970c51eeec4e5d549bdb3e2d3e48ffb4f0e7 Author: Andreas Huber <andih@google.com> Date: Wed Jun 10 11:44:31 2009 -0700 Make sure to initialize all fields in _all_ constructors... Use a Mutex instead of the raw pthread_mutex_t. commit d6286a6bbca639952491448fa3e609b775a8a814 Author: Andreas Huber <andih@google.com> Date: Tue Jun 9 17:11:49 2009 -0700 send_command is now implemented twice... ugly hack to get both shutdown working correctly and startup as well... playback now "works" on the emulator, too. commit 8d657e004677a7c5dae4479e8519bcaa94c18aad Author: Andreas Huber <andih@google.com> Date: Tue Jun 9 11:58:55 2009 -0700 Instead of erasing codec specific data once it's been output to the omx node, retain the data and just rewind after a stop. commit 279fede6ba35cbc37c35616c53406bf2c9720202 Author: Andreas Huber <andih@google.com> Date: Tue Jun 9 10:58:11 2009 -0700 Various fixes related to play/pause. Decoder now properly frees OMXMediaBuffers, made MemoryDealer destructor protected instead of public to prevent accidental stack-allocation of MemoryDealer objects. commit 0f717f15a6328efd3f34082929cd8ad2351095a9 Author: Andreas Huber <andih@google.com> Date: Tue Jun 9 08:44:12 2009 -0700 Make sure to rewind codec specific data on OMXDecoder::stop and reset AudioPlayer's notion of time mapping. commit 0cfb63e33270daf9b215214608ab383f93a31823 Author: Andreas Huber <andih@google.com> Date: Mon Jun 8 14:25:48 2009 -0700 Massive rename. commit 30ed8f476c4431a5275538958b3e281bd17d5eab Author: Andreas Huber <andih@google.com> Date: Mon Jun 8 13:52:41 2009 -0700 send_command and fill/empty buffer commands must be executed in sequence, send_command is now dispatched over the socket instead of through the binder interface to ensure this. commit b832d04011b2dd8a9632eb7e575bfe1addd1270d Author: Andreas Huber <andih@google.com> Date: Mon Jun 8 10:21:17 2009 -0700 MediaBuffers can now be "clone()", they sit on top of the same data but have their own range and metadata. Once a clone's refcount drops to 0 it decrements the refcount on the original buffer. commit 4e944672808bdf1ed40a69f3f602f93ebf7b4049 Author: Andreas Huber <andih@google.com> Date: Mon Jun 8 10:01:01 2009 -0700 Split MediaBuffer.h into MediaBufferGroup.h and MediaBuffer.h, same with their respective source files. commit ddb7529b4de4828db51432bd405fddd76cfa3b6a Author: Andreas Huber <andih@google.com> Date: Fri Jun 5 16:30:25 2009 -0700 More fudging with A/V sync... commit 1e5a4d8df08237b58c06c6527a33152ae931addf Author: Andreas Huber <andih@google.com> Date: Fri Jun 5 11:54:20 2009 -0700 API cleanup of MediaSource. Got rid of MediaRing as it really doesn't serve a purpose if OMX decoders are used. commit 0953c65232aa9753d17d2e25c5f5526eb810cf13 Author: Andreas Huber <andih@google.com> Date: Thu Jun 4 16:59:19 2009 -0700 Experimental TimedEventQueue and an attempt at a cleaner player implementation using it, OMXDecoder is now a little less verbose. commit 2085b8ea9484a21fa11f94194a27405d413aeecc Author: Andreas Huber <andih@google.com> Date: Thu Jun 4 10:17:01 2009 -0700 Properly bail out of the AV sync loop if the MediaPlayerImpl is stopped. commit 471f143458a8a0d93cb1bf9568c63c3967279dc6 Author: Andreas Huber <andih@google.com> Date: Wed Jun 3 17:32:27 2009 -0700 Now this is much better AV sync, defer seeking the audio source until we know where the video source synced to. commit 4010d371dbe62ce4971e13437776cba32cb0bb3d Author: Andreas Huber <andih@google.com> Date: Wed Jun 3 16:01:07 2009 -0700 Tweaked some of the heuristics in AV sync, OMXDecoder is now a little less verbose, seek to a sync sample at or _after_ the requested position. commit f3d4af1d5a4ac31fa02271b000f6c7ec593f0da9 Author: Andreas Huber <andih@google.com> Date: Wed Jun 3 15:33:58 2009 -0700 Change the TimeSource interface's APIs, prefer microseconds over milliseconds now, changed the way MediaPlayerImpl does AV sync. commit 08bb46fa61d12e852a424698ddb0c90700328f6e Author: Andreas Huber <andih@google.com> Date: Wed Jun 3 11:57:24 2009 -0700 Using framework's Mutex and Condition classes instead of pthread functions, much saner locking in OMXDecoder. commit 4d77b4e09e59bbf8c1af009ae7dc62b10af52fd6 Author: Andreas Huber <andih@google.com> Date: Tue Jun 2 17:12:03 2009 -0700 MediaSources now publish their format. commit 7e429a26c57bf936e1a08035d2d11839f9f00310 Author: Andreas Huber <andih@google.com> Date: Tue Jun 2 16:38:29 2009 -0700 MetaData is now implemented in terms of KeyedVector, MetaData is now reference counted. commit 0fa957aa5c9bcb6ec122ed7b5b97430039be6797 Author: Andreas Huber <andih@google.com> Date: Mon Jun 1 14:39:55 2009 -0700 Sync sample seek support. commit 78a5f090d02e7e6e1a146b29bdb7771eecaa2f86 Author: Andreas Huber <andih@google.com> Date: Mon Jun 1 13:51:11 2009 -0700 Distinguish shutdown from port-flush since one requires buffers to be freed and the other one doesn't. Fixes a problem with seek. commit e57781d3b2c985a74cd8b60e7c8f2d576459d038 Author: Andreas Huber <andih@google.com> Date: Mon Jun 1 10:52:20 2009 -0700 First shot at support for seeking a MediaSource. Sync frames are not properly handled yet. commit 0551cd78fda78bf66877fb26c5a55e5ae23d8367 Author: Andreas Huber <andih@google.com> Date: Thu May 28 16:23:38 2009 -0700 Preliminary support for camera input. commit f8ebafa65d10d5a06944de6b2e2992a33121b857 Author: Andreas Huber <andih@google.com> Date: Thu May 28 12:13:47 2009 -0700 Allow NativeMediaPlayer access to Surface's getISurface() method. commit b1a9fb36eeccd9f49d28c1c64b31fccbd6506eeb Author: Andreas Huber <andih@google.com> Date: Thu May 28 11:38:25 2009 -0700 Header files are now in their own genesis2 hierarchy below frameworks/base/include. commit f49b8b234b8f6ce83148787eef540dd920f04aa6 Author: Andreas Huber <andih@google.com> Date: Thu May 28 11:22:03 2009 -0700 moved MPEG4Writer into libgenesis2. commit 5224254919dac4728677335ea60429fa16f518b4 Author: Andreas Huber <andih@google.com> Date: Thu May 28 11:13:38 2009 -0700 Everything now lives in the android namespace, integrated errors with android errors, renamed MediaPlayer to MediaPlayerImpl. commit f9a9d84f7e0465ef5d1938a068655ba39527cf99 Author: Andreas Huber <andih@google.com> Date: Wed May 27 16:43:11 2009 -0700 Support for getPosition() and getDuration(). commit 3206cc5140bcbc88be039f8d94b954af63e69752 Author: Andreas Huber <andih@google.com> Date: Wed May 27 15:37:45 2009 -0700 Support for {MediaPlayer, GenesisPlayer, Genesis2Player}::isPlaying() commit 9f41b248e0dfce71bbc50f883750cec52ebfd1fe Author: Andreas Huber <andih@google.com> Date: Wed May 27 13:49:50 2009 -0700 Proper disconnection from the OMX service. commit cdcf47a2c31599109ee42277c7fa14af3c600091 Author: Andreas Huber <andih@google.com> Date: Tue May 26 17:27:06 2009 -0700 New player type for the genesis player in libmediaplayerservice. Playing video through an ISurface now. commit 0586af20ac9ae0403dd190bafd290b0f90549723 Author: Andreas Huber <andih@google.com> Date: Fri May 22 15:53:19 2009 -0700 Fix a buffer overflow error by adding padding in case we need to de-frame AVC data. commit eac62fff6ad2ffb7b75c0d4a1b9620d33e93fb9b Author: Andreas Huber <andih@google.com> Date: Fri May 22 13:35:30 2009 -0700 Support for http URIs in MediaPlayer, compensate for AudioTrack latency. commit a7db456e3173d94d6b5e457547e2a6a5f7a8e1cc Author: Andreas Huber <andih@google.com> Date: Fri May 22 11:33:25 2009 -0700 Support for URIs in MediaPlayer class, support for shoutcast streams in MediaPlayer, force shutdown of OMX nodes if they don't shutdown cleanly within a second. commit 1f0268f4f14ad5215668f34e06a420850174d665 Author: Andreas Huber <andih@google.com> Date: Fri May 22 08:33:16 2009 -0700 and foo.txt is gone again. commit 0feca4e0919f345704d78ec78894bac5027bd5ed Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com> Date: Fri May 22 08:28:49 2009 -0700 added foo.txt commit 9c7d04b35cdc895a2de3602dc46522f608bd205f Author: Andreas Huber <andih@google.com> Date: Fri May 22 08:28:04 2009 -0700 delete foo again commit fec3ca1720992cce51b9a92b86b945da88a6b16c Author: Andreas Huber <andih@google.com> Date: Fri May 22 08:27:45 2009 -0700 weird commit 30a6571302333146e537e537a3a8986245cca87c Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com> Date: Fri May 22 08:18:55 2009 -0700 reverse test commit dea3d99dd0fe9386e8a3c51954d9d0fe2be09d38 Author: Andreas Huber <andih@google.com> Date: Fri May 22 08:18:22 2009 -0700 test commit a9eeafec6e46072cac41e54ebdbd153cb7ae7518 Author: Andreas Huber <andih@google.com> Date: Thu May 21 16:37:50 2009 -0700 Use the video ring again for now. commit e05ff3d3c1c4f89ef499a2b172138a775fd694e3 Author: Andreas Huber <andih@google.com> Date: Thu May 21 15:42:19 2009 -0700 Export to .mp4 now works for MPEG4 video content. Fixed a bug in the sample table wrt co64 chunks. commit 5c44c540374a4e50c4e8aaab2b7a34aed6e1391e Author: Andreas Huber <andih@google.com> Date: Thu May 21 09:56:11 2009 -0700 Fix the build, all binder-related headers have moved and there's a new library libbinde r to link against now. commit 23e0a24404d16c898c2c6b3c7495ad303844bc71 Author: Andreas Huber <andih@google.com> Date: Thu May 21 08:42:04 2009 -0700 Initial checkin of MPEG4Writer, a class to export media sources into an mpeg4 file. MPEG4/AVC metadata (efss & friends) not currently working. commit 9cd77adb1ac194197364ffad00a0d7215f458e1a Author: Andreas Huber <andih@google.com> Date: Wed May 20 12:31:45 2009 -0700 New shell command to test recording/encoding. Various changes to OMXDecoder to support encoding properly. Now each OMXDecoder needs a dedicated thread on the client side since onEvent responses could block which would cause deadlocks if a node depends on the output of another node for example. commit 5c510fb55ffed7ec25305999ed9b6c1eec48d503 Author: Andreas Huber <andih@google.com> Date: Mon May 18 15:40:06 2009 -0700 Make media decoding the default in the genesis2 commandline app instead of shoutcast playback. commit f6c7a2040b8eb43326621f12c3a936e09b3a70e3 Author: Andreas Huber <andih@google.com> Date: Mon May 18 11:03:04 2009 -0700 The king is dead, long live the kind... Replaced old OMX binder interface with new OMX binder interface/socket hybrid. commit 0d4955eb5df9bfafb576d22f2ed572644d6d69ac Author: Andreas Huber <andih@google.com> Date: Thu May 14 12:39:34 2009 -0700 dynamic negotiation of NAL framing with the MPEG4Source, removed stale code from genesis2 commandline tool. Enable support form PV H264 software decoder. commit 380369f54a8027cbc9349305184d6bf527a24efe Author: Andreas Huber <andih@google.com> Date: Wed May 13 17:32:00 2009 -0700 Explore the option of running everything inside the mediaserver process by encapsulating the player in an IGenesisPlayer binder interface. commit b5cada56b9089a23e0c461352a97dc71e08b424d Author: Andreas Huber <andih@google.com> Date: Wed May 13 12:11:06 2009 -0700 Introduction of TimeSource class, clean shutdown of OMX Nodes. commit 89f6e582e605dcb2149eb67f73fe9345d4b9be2e Author: Andreas Huber <andih@google.com> Date: Tue May 12 17:11:56 2009 -0700 Helper classes MediaRing and MediaPlayer. commit 9aaed8739b4bb941473da367fb88f63224d2f1b7 Author: Andreas Huber <andih@google.com> Date: Tue May 12 14:19:18 2009 -0700 Using mmap to map a file instead of going through FILE* improves performance, who knew? commit ad097a78bbd002c59193ffdc39b64935928426c7 Author: Andreas Huber <andih@google.com> Date: Mon May 11 16:42:42 2009 -0700 Added a performance test, refactored AudioDecoder a little. commit bdd1b80ab3f3ba43e04f1f996e7fa84ed2e2728a Author: Andreas Huber <andih@google.com> Date: Fri May 8 16:19:29 2009 -0700 No more copying the output buffers coming out of the decoder, NAL separation also done in the extractor to avoid copying the data. commit 858955b42c29b8033841a8caaa56c2a449810ef3 Author: Andreas Huber <andih@google.com> Date: Fri May 8 14:02:38 2009 -0700 Change from a model in which the caller specifies the destination buffer to one where the MediaSource returns a buffer. commit 95098b6d4f8bdc37dfb6a109ca58db4d9e414e2d Author: Andreas Huber <andih@google.com> Date: Fri May 8 13:21:45 2009 -0700 Changes to support multiple pieces of codec specific data to the decoder, de-frame nal units from the h.264 stream and insert start codes commit 3941fcf87a48dda81683df727dfb1381f62d9184 Author: Andreas Huber <andih@google.com> Date: Thu May 7 16:37:45 2009 -0700 some refactoring. Most streams play now. commit d3152862840d4dd39068e5197bec8674f3d55dd5 Author: Andreas Huber <andih@google.com> Date: Thu May 7 15:37:32 2009 -0700 Misc. changes to support H264 decoding using the qcom hardware decoder commit d4ecdfe7af36e7468270d1c2cbbdc540efe0351e Author: Andreas Huber <andih@google.com> Date: Thu May 7 09:28:18 2009 -0700 Timestamps are now stored as a fraction, i.e. units and scale, also, PV appears to violate OMX specs by assuming timestamps are in milliseconds instead of microseconds. commit fe6a50943f885e065d4061aa727a54417e9f36db Author: Andreas Huber <andih@google.com> Date: Wed May 6 14:18:27 2009 -0700 Refactored commandline app instantiation of the decoder. commit da1ff2724d0e78e8b360d9a2c34c55dd0e2c0492 Author: Andreas Huber <andih@google.com> Date: Wed May 6 10:41:14 2009 -0700 Proper audio/video synchronization. commit 569ee3a23f600f4b6b87c6178c0223b06e97f201 Author: Andreas Huber <andih@google.com> Date: Wed May 6 09:17:20 2009 -0700 Preliminary support for timestamps. commit e4e302a89207550d8a7170d8c0afbd9c15047c84 Author: Andreas Huber <andih@google.com> Date: Tue May 5 15:13:12 2009 -0700 Another quick hack job to make CachingDataSource thread-safe as well. commit dfb376a58bd7c09aa04e89558186fcfe13fe696c Author: Andreas Huber <andih@google.com> Date: Tue May 5 15:08:14 2009 -0700 Quick rushjob to make FileSource and SampleTable thread safe. commit 02b29e7ebdab1f8b959b6c177ceb3b89d998f375 Author: Andreas Huber <andih@google.com> Date: Mon May 4 17:22:04 2009 -0700 Made video decoding work for mpeg4/h263 and mostly(?) with AVC content. commit 3a57b8ff15e48f5a0af03bf0a99c32e240dbb7ef Author: Andreas Huber <andih@google.com> Date: Mon May 4 09:26:42 2009 -0700 Getting rid of old sample code to drive the OMXNode binder interface. commit 5b046aed0cf524a57ea711bc1e43ea80e57b2cb3 Author: Andreas Huber <andih@google.com> Date: Fri May 1 16:21:11 2009 -0700 Moved files from the commandline utility into the framework, renamed MP3Decoder to AudioDecoder commit 7f3fbba21512a078b732cc52c7bd5ba5acb9a317 Author: Andreas Huber <andih@google.com> Date: Fri May 1 15:56:19 2009 -0700 Fixed buffer ordering and an off-by-1 error in the SampleTable code. Plays all AACs now :) commit 024d06baab8f2c540dde16f7e7a4b6dd57f638c7 Author: Andreas Huber <andih@google.com> Date: Fri May 1 11:52:48 2009 -0700 Some AAC content in .3gp or .mp4 files plays correctly now, other does not. Implemented ESFS parser. commit 1470427866b0d3e0ce6848b4edc01c13a09be289 Author: Andreas Huber <andih@google.com> Date: Thu Apr 30 15:19:31 2009 -0700 Another checkpoint, amr decoding now functional. commit e612d044439f56331b6a2bc4a88622e04d4d42e7 Author: Andreas Huber <andih@google.com> Date: Wed Apr 29 12:11:29 2009 -0700 string wrapper around String8, various fixes, shoutcast now works again. commit 2ea52dfb1a39bf3a223ffc87855e54919e2daff7 Author: Andreas Huber <andih@google.com> Date: Wed Apr 29 11:08:18 2009 -0700 Initial check-in of OMXNode binder interface. commit 7880d2957f74c0d7fba7679431ff5adb3780543b Author: Andreas Huber <andih@google.com> Date: Wed Apr 29 10:05:01 2009 -0700 Initial check-in of both libgenesis2 and the genesis2 commandline tool.
* Merge change 7067Android (Google) Code Review2009-07-151-1/+1
|\ | | | | | | | | * changes: add a ctor to Mutex to specify the type, which can be shared. This is used by sf and af an soon will allow some optimization in the kernel for non shared mutexes
| * add a ctor to Mutex to specify the type, which can be shared. This is used ↵Mathias Agopian2009-07-131-1/+1
| | | | | | | | by sf and af an soon will allow some optimization in the kernel for non shared mutexes
* | first attempt to fix the simMathias Agopian2009-07-131-1/+1
|/
* Don't pass references to temporary objects, and handle the case where we ↵Marco Nelissen2009-07-101-1/+4
| | | | dont have a Surface.
* Basic plumbing to retrieve metadata from the native player.Nicolas Catania2009-07-102-5/+33
| | | | | | | | | | | | | | | | | | | IMediaPlayer.h Added a getMetadata method that mirrors the on in MediaPlayer.java. MediaPlayer.java Added a native method to get the metadata from the native player. Parse the parcel into a Metadata object. Metadata.java Added a stub to parse the Parcel returned by the native player into a set of metadata. android_media_MediaPlayer.cpp JNI call to forward the getMetadata call. MediaPlayerService.cpp MediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h
* Merge change 6636Android (Google) Code Review2009-07-092-1/+25
|\ | | | | | | | | * changes: Implemented the metadata changed notification filters.
| * Implemented the metadata changed notification filters.Nicolas Catania2009-07-092-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IMediaPlayer: new setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type) serialized in a Parcel. MediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp new setMetadataFilter that passes the filter down to the MediaPlayerService's binder interface. MediaPlayerService.cpp The Client inner class holds the allowed and blocked metadata types. These are in 2 vectors that get populated in the setMetadataFilter. A new shourldDropMetadata method returns true if a type of metadata should be dropped according to the filters. The notify method in run the metadata update notifications thru the filter and possibly drop them.
* | am 5964e737: Fix issue 1946033: dialer deadlocks and/or ANRs when using ↵Eric Laurent2009-07-091-0/+2
|\ \ | |/ |/| | | | | | | | | | | | | dialpad in-call Merge commit '5964e73774b381748013b91d04dfb6fc60f533ee' * commit '5964e73774b381748013b91d04dfb6fc60f533ee': Fix issue 1946033: dialer deadlocks and/or ANRs when using dialpad in-call
| * Fix issue 1946033: dialer deadlocks and/or ANRs when using dialpad in-callEric Laurent2009-07-091-0/+2
| | | | | | | | | | | | The cause is very likely that the WaveGenerator *lpWaveGen returned by lpToneGen->mWaveGens.valueFor(lFrequency) just before calling lpWaveGen->getSamples(lpOut, lGenSmp, lWaveCmd) is invalid. The frequency lFrequency is not part of the frequencies in mWaveGens. This can happen if a different tone is started while the callback function is active: The state is changed to TONE_RESTARTING and the call to prepareWave() at line 1226 will change the tone descriptor pointed to by mpToneDesc as well as the content of mWaveGens. However, mpToneDesc was cached in a local variable lpToneDesc when entering the callback and is not reloaded when exiting prepareWave(). This causes a mismatch between the tone frequencies listed in lpToneDesc and the frequencies present in mWaveGens. This regression was introduced in change 973 when mpToneDesc was cached in a local variable.
* | am 88e209dc: Fix issue 1743700: AudioTrack: setPlaybackRate can not set the ↵Eric Laurent2009-07-072-22/+14
|\ \ | |/ | | | | | | | | | | | | | | playback rate to twice of the ouputSR Merge commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c' * commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c': Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
| * Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate ↵Eric Laurent2009-07-072-22/+14
| | | | | | | | | | | | | | | | to twice of the ouputSR Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t. Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate(). AudioTrack::setSampleRate() no returns a status.
* | Direct api to the native media player.Nicolas Catania2009-06-243-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MediaPlayer.java has 3 new methods: * newRequest creates a Parcel that can be used to send data to the native player using invoke. * invoke issues synchronous calls to the native player using opaque parcels for the request and reply. IMediaPlayer.h has 1 new abstract method: * invoke The Midi and Vorbis players have a stub for these. So far only PV makes use of that new feature. To avoid any copy overhead, the JNI interface uses Parcel as a java object (no serialization/copy happens at the JNI layer). The remote interface token is inserted when the Parcel is constructed in java. That way the parcel is already routable when it reaches IMediaPlayer.cpp (proxy). No extra copy is needed there.
* | am 1bee98af: Merge change 5100 into donutAndroid (Google) Code Review2009-06-231-135/+681
|\ \ | |/ | | | | | | | | | | Merge commit '1bee98af6532eba3c6cda636eee890530c95a2a7' * commit '1bee98af6532eba3c6cda636eee890530c95a2a7': Fill in CDMA gaps and clean up ToneGenerator code
| * Fill in CDMA gaps and clean up ToneGenerator codeDavid Krause2009-06-231-135/+681
| |
* | Renamed all android.hardware.IMedia* strings to android.media.IMedia*niko2009-06-225-8/+5
| | | | | | | | | | | | | | | | | | | | The android.hardware.ICamera string have not been changed (but is looks like the camera service and client one should undergo the same procedure) The implementation of the interface must provide a unique string for it's interface name. Currently all these strings in the media framework start with 'android.hardware' when it should really be 'android.media', the interface token has nothing to do with hardware.
* | am d670b8c6: Merge change 3981 into donutAndroid (Google) Code Review2009-06-122-3/+2
|\ \ | |/ | | | | | | | | | | Merge commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a' * commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a': Removed trailing whitespaces.
| * Removed trailing whitespaces.Nicolas Catania2009-06-112-3/+2
| |
* | am b2df1699: Merge change 1548 into donutAndroid (Google) Code Review2009-06-081-4/+4
|\ \ | |/ | | | | | | | | | | Merge commit 'b2df1699c996e62baa78877978cd2c5607ea4194' * commit 'b2df1699c996e62baa78877978cd2c5607ea4194': NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
| * NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).Jianhong Jiang2009-06-081-4/+4
| |
* | am f3288f17: Merge change 2468 into donutAndroid (Google) Code Review2009-05-261-0/+2
|\ \ | |/ | | | | | | | | | | Merge commit 'f3288f178ae2b2c7910b234f54f43475a83eb860' * commit 'f3288f178ae2b2c7910b234f54f43475a83eb860': setVolume did not check interface descriptor
| * setVolume did not check interface descriptorDave Sparks2009-05-261-0/+2
| | | | | | | | DO NOT MERGE