summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* stagefright: use CODECS field in EXT-X_STREAM-INF as fallbackRobert Shih2014-03-062-7/+157
| | | | | | | | Use the CODECS field in EXT-X-STREAM-INF as a viable fallback for identifying available streams in a variant playlist. Bug: 11854054 Change-Id: I5011809dc7c56220b023eb1a16f2d6a392ddd6f1
* Fixed misplaced bracket for switch-case block.Robert Shih2014-03-061-4/+4
| | | | | Bug: 11854054 Change-Id: I66b410e1e19601ad65d8357bda4c0c58e2dc15dc
* stagefright: Fix issue with tracking media format in packet sourceLajos Molnar2014-03-062-13/+44
| | | | | | | | | | Media format in AnotherPacketSource is now tracked across discontinuities. This fixes a bug where format was set on queueAccessUnit and cleared on dequeueAccessUnit, thereby allowing it to remain cleared. Change-Id: I20975a630443f4a223a2b4344e8244f34b9560b9 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 12060952
* stagefright: Fix bugs in playlist fetcher logicLajos Molnar2014-03-062-29/+105
| | | | | | | | | | | | | 1. Improve start time: start playback as soon as the target duration or 10s was buffered. 2. Select playlist monitor time based on target duration to avoid continuously missing the boat. 3. If "we miss the boat" we still must request a safe sequence number (last - 3) Change-Id: Ie99c360ac67b152ad9af19e9c6e520016f67e4e3 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 12060952
* Merge "stagefright: fix offloading HE-AAC sampling rate." into klp-devEric Laurent2014-03-061-17/+23
|\
| * stagefright: fix offloading HE-AAC sampling rate.Eric Laurent2014-03-051-17/+23
| | | | | | | | | | | | | | | | Fix HE AAC SBR sampling rate reading for explicit signaling. Bug: 11697128. Change-Id: Ifec0ab9d48d9293f6774ec1efd9da9445994cb7c
* | set AAC MPEG version to MPEG-2Chong Zhang2014-03-061-1/+1
|/ | | | | | | wifi display play spec only allows MPEG-2 AAC. Bug: 12747927 Change-Id: Ic96d27ce57f5c8e7da55e43b38f629b5c7333817
* Increase kFastTrackMultiplier from 1 to 2Glenn Kasten2014-03-052-11/+14
| | | | | Bug: 11967381 Change-Id: Iedec06280aa745d9df5d661f4916940cede9c191
* AudioTrack: fix obtainBuffer timeout calculationEric Laurent2014-03-052-2/+2
| | | | | | | | | | | AudioTrack::obtainBuffer() passes a pointer to a timeout variable that has gone out of scope when calling ClientProxy::obtainBuffer(). Same fix for AudioRecord. Bug: 11968591. Change-Id: I5b3d0d86ed2bd8c0412eb2432b1ab519d70efce9
* libstagefright: Delay release of wakelock in TimedEventQueueHaynes Mathew George2014-03-052-6/+9
| | | | | | | | | | Delay release of wakelock in the TimedEventQueue to after an event has been processed. This ensures AP shutdown does not happen while an event is ready but hasn't been processed yet. Bug: 11976087. Change-Id: I9bce83b9ff0f2b4d174a53c95e5b0f135b5ccc70
* audioflinger: fix static track end detectionEric Laurent2014-03-051-9/+2
| | | | | | | | | | | | | | If a static track is not a fast track, prepareTracks_l() must rely on framesReady() to detect end of buffer and remove the track from the active track list. Failing to do so results in the track staying active but not processed by the mixer because in underrun. This leaves the mix buffer content uninitialized and causes the effect process function to accumulate its output onto undefined data. Bug: 12013676. Change-Id: I4b0819a9d93141ac3307b8786fc6a451dd585220
* AudioMixer: Remove tracks from enabledTracks after reseting outTempGaurav Kumar2014-03-051-4/+7
| | | | | | | | | | | | | | | | | | | If any track goes through AudioMixer::process__genericNoResampling, and its getnextbuffer returns NULL, Then that track is removed by AudioMixer from enabledTracks. Thus if all tracks getnextbuffer return NULL, Then this function doesn't reset outTemp and last buffer in AudioFlinger's mMixBuffer will be repeated and noise is observed. Remove tracks from enabledTracks after reseting outTemp to zero, so that process__genericNoResampling will reset outTemp and noise won't appear. Bug: 12450065 Change-Id: I28996d425838728955f01eb1a00acf6e6dc2dea1 Signed-off-by: Gaurav Kumar <gaurav.kumar@broadcom.com> Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
* update offloaded audio track sampling rateEric Laurent2014-03-059-4/+53
| | | | | | | | | | AudioPlayer must read the sampling rate from offloaded audio sinks whenever a new time position is computed as the decoder can update the sampling rate on the fly. Bug: 12823955. Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
* audioflinger: fix offload write buffer offsetEric Laurent2014-03-051-2/+2
| | | | | | | | | Fix current audio HAL write buffer offset calculation which assumes that the frame size is a multiple of 2. ' Bug: 12823725. Change-Id: I0195ed5cfef225a6f114e7dd405a02680bb7254e
* fix deadlock issues that arise when there are simultaneousjpadmana2014-03-046-55/+88
| | | | | | | | | | | | | | | | | | | effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds Whenever there are parallel calls to proxy and non sub-effects wrappers, some of the calls are not completed. This is due to deadlock arsing out of Proxy waiting for the subeffect call to return and subeffect waiting for proxy to release lock. The call flow is changed to a cleaner and simple one - Proxy gets the aeli(effect library info) of subeffects during the EffectGetSubEffects() call. Therby, proxy will manage the sub effects by itself rather than going through effects factory. Change-Id: If4b259da5776f151c1e81a78a0239d342046d923 Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com> Bug: 12424044
* audioflinger: check for condition before waitingHaynes Mathew George2014-03-041-1/+6
| | | | | | | | AsyncCallbackThread must check for any condition that was already been satisfied before waiting. Bug: 11824817 Change-Id: I04683a1f355de4f440106cab47fd916aa39d5e35
* audioflinger: update track ready conditionHaynes Mathew George2014-03-041-1/+1
| | | | | | | Signal track ready if the track isStopping(). Bug: 12423190 Change-Id: I95e14905df10ebf301e398263478c8ca25d7e2ce
* audioflinger: Fix for a deadlock in track creationHaynes Mathew George2014-03-042-2/+6
| | | | | | | | | AudioFlinger enters a deadlock (with itself) on trying to free a RecordTrack or Track object that failed initialization. Clear this bad object from the caller instead. Bug: 12423233 Change-Id: I926f2beb922a70f6924e593e2bbf1a5b5df85b16
* AudioTrack: fix position callback after restoreEric Laurent2013-11-271-1/+0
| | | | | | | | | | | When restoring an AudioTrack, the next position callback point should not be modified and set ahead of current buffer head. Otherwise, as frames are dropped, the new position is never reached and an application relying on position callbacks to reload the buffer would be stalled. Bug: 11868603. Change-Id: I93b2a311642a0c89944b78bcc0482d4ceed98ae4
* Merge "WA: Queue extra buffers on output port during reconfig if input ↵Lajos Molnar2013-11-192-0/+30
|\ | | | | | | EOS-ed" into klp-dev
| * WA: Queue extra buffers on output port during reconfig if input EOS-edLajos Molnar2013-11-142-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some codecs may return input buffers before having them processed. This causes a halt if we already signaled an EOS on the input port. For now keep submitting output meta buffers one at a time if the input EOS-ed, but the output not yet. Normally, we submit an output buffer for each input buffer that is with the component (waiting to be processed). Change-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11433909
* | Merge "Fix metadata access" into klp-devMarco Nelissen2013-11-152-3/+9
|\ \
| * | Fix metadata accessMarco Nelissen2013-11-152-3/+9
| |/ | | | | | | | | | | | | | | Metadata string pointers become invalid after setting more metadata, so don't cache them. b/11692062 Change-Id: Iaf1afb24cf53f7fa36f49ce759355693494076e5
* | audioflinger: do not use raw pointer for tracksEric Laurent2013-11-152-8/+8
| | | | | | | | | | | | | | | | | | | | Commit 9da3d95 surfaced a problem caused by the use of a raw pointer to a track in offload thread implementation. Pointers to tracks should always be weak or strong pointers. Bug: 11708529. Change-Id: Ic48632532d186c9be8261f73cefdf824b9fbbd2b
* | Merge "AwesomePlayer: correct stream type for offload" into klp-devEric Laurent2013-11-156-5/+21
|\ \
| * | AwesomePlayer: correct stream type for offloadEric Laurent2013-11-146-5/+21
| |/ | | | | | | | | | | | | | | | | | | | | | | canOffloadStream() function in stagefright utils forces the stream type to AUDIO_STREAM_MUSIC when querying the audio policy manager if a particular track is offloadable or not. This causes MP3 ringtones to be offloaded which is not a validated use case. The fix consists in using the actual stream type read from the AudioSink. Bug: 11410937. Change-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d
* | Camera2: Rework the FPS range vs. FPS single setting detectionEino-Ville Talvala2013-11-142-33/+20
|/ | | | | | | | | | | | | | | | | | | | | Give up on current approach of writing out consistent FPS values into parameters that will be read back by the app. - Preserve app's latest set parameters exactly, and compare against them when detecting if a new FPS range or single FPS value has been selected. - Since get() returns exactly what was set(), it doesn't matter if the app calls getParameters() before its next setParameters(), in terms of retriggering FPS selection logic. Before, the behavior varied depending on whether the app re-read the parameters. - As before, if app changes both range and single FPS in a single set call, the range set wins. Otherwise, the value that has changed more recently is used. Bug: 11570973 Change-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6
* Merge "audioflinger: fix offload track transition" into klp-devEric Laurent2013-11-141-17/+24
|\
| * audioflinger: fix offload track transitionEric Laurent2013-11-121-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that when transitioning from one active offloaded track to the next we flush DSP content if both tracks are not on the same audio session. This happens when switching between two applications playing the same type of content (e.g MP3, stereo, 44.1). In this case, we reuse the same output thread because the track formats are compatible. Bug: 11247103. Change-Id: I2b9031591149adeb70766da5e0d21ff2933a37e8
* | Merge "audioflinger: fix offload resume after drain" into klp-devEric Laurent2013-11-141-5/+9
|\ \ | |/
| * audioflinger: fix offload resume after drainEric Laurent2013-11-121-5/+9
| | | | | | | | | | | | | | | | | | | | | | When pausing and resuming during the drain, the drain sequence number shuold not be modified otherwise the drain callback will be ignored. This causes failure to notify end of stream to audio player and transition to next song. Bug: 11247103. Change-Id: I2a35c5cc3fd6aa667cdd257f9e9cc8715cef5159
* | Merge "stagefright: limit default max-input-size for AVC" into klp-devLajos Molnar2013-11-131-7/+18
|\ \
| * | stagefright: limit default max-input-size for AVCLajos Molnar2013-11-131-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | AVC has a compression ratio of at least 2. Account for this, as some codecs refuse exorbitant max-input-size requests. Change-Id: Ib68b485879ba33a12a486f2ce18fe100be977699 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11599364
* | | Merge "AwesomePlayer: Improve performance on high-fps clips" into klp-devLajos Molnar2013-11-131-1/+36
|\ \ \ | |/ / |/| |
| * | AwesomePlayer: Improve performance on high-fps clipsLajos Molnar2013-11-121-1/+36
| |/ | | | | | | | | | | | | | | | | | | - Immediately retry rendering next frame after frame skip. - Schedule next videoEvent based on the timestamp of the next frame. Change-Id: Ia106382c4c225321b682c1f7c2d126d7eab7d56d Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11159147
* | Merge "Only initialize sniffers once, don't hold mutex while sniffing" into ↵Marco Nelissen2013-11-132-17/+30
|\ \ | | | | | | | | | klp-dev
| * | Only initialize sniffers once, don't hold mutex while sniffingMarco Nelissen2013-11-112-17/+30
| | | | | | | | | | | | | | | | | | b/11482896 Change-Id: Ie036554b4c9e7e8863cb07901d414ea457f1b2f1 (cherry picked from commit 377fce69297a0e5b7c3b266a7602b17146785635)
* | | Merge "Ignore transport stream packets with the "transport_error_indicator" ↵Andreas Huber2013-11-131-1/+4
|\ \ \ | | | | | | | | | | | | bit set" into klp-dev
| * | | Ignore transport stream packets with the "transport_error_indicator" bit setAndreas Huber2013-11-121-1/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | which indicates that they contain at least one bitstream error that was unrecoverable. Change-Id: I10665fd190194fdd2568175fe00b6063d3fc10a5 related-to-bug: 11537029
* | | am 27ae268a: am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 ↵Adam Hampson2013-11-132-9/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | decoder" into jb-mr2-dev * commit '27ae268af29b25d85f83aa34e92ac8b7f6c87c6f': StageFright: Removes hacks for Nvidia MPEG2 decoder
| * | am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" ↵Adam Hampson2013-11-132-9/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into jb-mr2-dev * commit '00cb884fc870aba4052c8d187a45e4aec50a6b43': StageFright: Removes hacks for Nvidia MPEG2 decoder
| | * \ Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-devAdam Hampson2013-11-132-9/+2
| | |\ \
| | | * | StageFright: Removes hacks for Nvidia MPEG2 decoderSuresh Choudhary2013-08-092-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the NVIDIA MPEG2 decoder specific hacks in legacy code as Nvidia HW MPEG2 decoder is enabled and tested now. Change-Id: Ifc67e1119d9741551336753f85f9cfdfd3fc8600
* | | | | Merge "Back to the old way of making sure that no more buffers are ↵Andreas Huber2013-11-121-2/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | submitted" into klp-dev
| * | | | | Back to the old way of making sure that no more buffers are submittedAndreas Huber2013-11-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the component while in executing->idle state. Change-Id: Ia207f0a112025ed0e2c4d62f404afbbfa694cbab related-to-bug: 11557463, 11573543
* | | | | | Camera API2: Add support for partial result quirkEino-Ville Talvala2013-11-125-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Camera3Device: Include requestId in partial 3A results - FrameProcessorBase: Add support for partial result listeners - CameraDeviceClient: Listen and forward partial results to client Bug: 11115603 Change-Id: If1cc6bbc32932742ac142c058688761ebf6a8024
* | | | | | Merge "configure bitrate and bitrate mode at encoder initialization for ↵Andreas Huber2013-11-122-0/+17
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | VP8/9" into klp-dev
| * | | | | configure bitrate and bitrate mode at encoder initialization for VP8/9Andreas Huber2013-11-052-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0389264db4102cabb0c6fcb4ca223d85cc9e86fb related-to-bug: 11536167
* | | | | | Merge "StageFrightRecorder: do not use meta-data mode for software encoders" ↵Lajos Molnar2013-11-114-13/+39
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | into klp-dev
| * | | | | | StageFrightRecorder: do not use meta-data mode for software encodersLajos Molnar2013-10-304-13/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Camera HAL v1 uses vendor-specific camera-source meta-data mode, but software encoders use generic gralloc-source mode, so they are not compatible. Change-Id: I0d1bab8eada26dcb70c97b1eec83f06d1f331239 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11446505