summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libeffect: Fix enabled effect count calculation errorwjiang2015-10-062-22/+32
| | | | | | | | | | | | | | | | | When switching from tunnel to arm effects, effect chain will be moved from offload thread to mixer thread. During this procedure effect instance is not destroyed, instead it's preserved and mounted onto new chain. The migrant sequence is 1) disable instance -> 2) move to new effect chain -> 3) enable instance again. However, the accumulated effect enabled count is not decreased when effect instance is disabled. As a result, LvmBundle_process() is only called once when Effect_process() called twice, which causes input buffer get processed alternately and glitch sound appears. Change-Id: Idd3b8753a73694cc36617ed55b40fda93155abed CRs-Fixed: 636353
* AudioFlinger: Invalidate offload track during SSRRamjee Singh2015-10-061-2/+17
| | | | | | | -Offload track invalidation is needed during SSR to switch from Offload to deep buffer playback. Change-Id: I728cfcadc8cd734914b94000a711d1e86bcfad9d
* libstagefright - Fix seek on audio having empty stss blockRamjee Singh2015-10-061-20/+20
| | | | | | | | | | | | Ignore stss block for audio even if its present, all audio sample are sync samples itself, self decodeable and playable. Parsing this block for audio restricts audio seek to few entries available in this block, sometimes 0, which is undesired. CRs-Fixed: 664870 Change-Id: I7f8e140aa27e8107a438f6bf4c21a3148c80680f
* audio: add support for WMA offloadSharad Sangle2015-10-062-0/+8
| | | | | | Added WMA as a valid audio format in audio policy Change-Id: Iace14a011ebb89b9deeebd7fe04d0f9b1ab27c9e
* MPEG4Writer: Fix MediaServer crash in MM Stress test.Paras Nagda2015-10-061-0/+5
| | | | | | | | | | | | | - Media Server crash is happening while accessing codecspecific data at the end of recording since stopRecording is issued from script even before codec spefic data is returned from encoder. - Size check is added to prevent accessing codecspecific data in this case. CRs-Fixed: 732893 Change-Id: I77ce3c02c76c4d3cc4345d761ad505090ef29530
* Stagefright: Allow setting high-framerates in CameraSourcePraveen Chavan2015-10-061-0/+12
| | | | | | | | | | | | | CameraSource (legacy Camera) treats framerate set via MediaRecorder.setVideoFrameRate as _both_ camera-preview-fps and video-encoder-fps. Trying to set high fps for encoder will inadvertently fail trying to set the same value for camera-preview. Read the custom camera parameter to detect if this is a high-speed request, selectively set the fps only for video, and default to 30fps for preview fps. Change-Id: If66211dd81b2a08d4df4c6f23e87304e9e7013f4
* Stagefright: Do not skip frames in time-lapse-source for high-speedPraveen Chavan2015-10-061-1/+2
| | | | | | | | Avoid the frame-skip logic in time-lapse source if capture-rate exceeds video-fps. Not doing so will drop frames and also cause retrograde timestamps and an assertion in CameraSource. Change-Id: I8420e44ab96484f0d6301c366a24eefc8efeaf0f
* stagefright: Remove assert for corrupt clips for AMRNBMingming Yin2015-10-061-1/+8
| | | | | | | | | | | Corrupt AMR NB clips were crashing media player This was due to the assert in the AMRNB decoder. To avoid this, post error and exit if corrupt clip is played. CRs-Fixed: 486681 Change-Id: I4c27a95978015e5493799ca23a3598559ad8bd9d
* StagefrightRecorder: force 64-bit file-offsets for files > 4GBPraveen Chavan2015-10-061-0/+6
| | | | | | | | Enable recording files larger than 4GB by forcing 64-bit file-offsets in the writer, if application indicates max-file-size greater than 4GB. Change-Id: Id1af5bdf3543af156e6d3d80be2e00c7df3b4134 CRs-Fixed: 807377
* libstagefright: Allow multi-byte CSD sizes for non-m4v clipsLeena Winterrowd2015-10-061-2/+3
| | | | | | | | | | As per ISO/IEC 14496-15, there is no explicit limit on the size of codec-specific-data for AVC clips. Only mpeg4 video requires that CSD size must fit within a single byte. Make the assertion enforcing this condition specific to m4v content. CRs-Fixed: 724526 Change-Id: Id006030ac65d5ec0bf285c040e4c536039f9489b
* audiopolicy: Add PCM offload formatsPreetam Singh Ranawat2015-10-061-0/+2
| | | | | | -add 16 and 24 bit PCM offload formats Change-Id: I23de9b6663be15971c62cba75e2476a503ef4e52
* audiopolicy: make audio policy extensibleSharad Sangle2015-10-062-8/+11
| | | | | | | | | | | make function virtual or protected so that they can be extended in custom audio policy also add flag in Android.mk so that proxy device get added in device list when proxy is enabled Change-Id: Ida7992f6b327491fab1f4ea376e85e8eb34b89ca
* audioflinger: Increase Client heap sizeHaynes Mathew George2015-10-061-1/+1
| | | | | | | | | | | This increase is needed to accommodate higher sampling rate clip playback over devices like BT and to support gapless playback with larger buffer sizes. In both cases, the cblk memory allocated for a track can be high enough that a new allocation (either due to restoreTrack_l or opening a new track) can fail. Change-Id: I96f674706184f029259802d5552f5ceeebc689c1 CRs-Fixed: 768106
* RTSP: add RTSP extensions for IPV6 supportLi Sun2015-10-0610-14/+93
| | | | | | | | | | | Change access modifiers and add overridables in rtsp stack. Make ARTSPConnection/ARTPConnection extensible for IPV6 support. Provide default implementations in AVMediaServiceExensions and AVMediaServiceFactory. Change-Id: Iaa67070d1832d56e0569dabfd8327c1998f04493
* ToneGenerator: Limit tones to 48kHaynes Mathew George2015-10-061-1/+7
| | | | | | | | | DTMF tones are played at the hardware module sampling rate. Until now, this rate was limited to 48k. Tones sound not too pleasant at higher rates (like 96k and 192k). Ergo, limit the rate to 48k. Change-Id: I7fbc3185d988628ce3ee478076a322857221dece
* stagefright: handle zero size field in ID3v2 headerYamit Mehta2015-10-061-2/+3
| | | | | | | | Specific clip contains corrupt ID3v2 header where size field is zero. This corner case isn't handled properly and leads to crash. Change-Id: Ic7e97b9de84b0cb3ce3716db95ab05f8f0db336f CRs-Fixed: 815025
* audioflinger: clear effect buffers for duplicating outputYamit Mehta2015-10-061-1/+7
| | | | | | | | | | | -Clear effect buffers in threadloop_mix() in case audio effects enabled when output threads are not ready -Also clear mix buffers in threadLoop_sleepTime()when tracks are not ready CRs-Fixed: 765749 Change-Id: I475d42ac0cc68e4856002a9bd4c6c256a6fca70c
* libmediaplayerservice:Fix deadlock on gapless start failureYamit Mehta2015-10-061-2/+11
| | | | | | | | | | | | | | | Issue:- Current gapless implementation starts the next clip when MEDIA_PLAYBACK_COMPLETE event for the first clip is recieved by MediaPlayerService. -Even if start for next clip fails, application is notified with MEDIA_INFO_STARTED_AS_NEXT. - This causes the framework to trigger mediaplayer start which again fails as it being for the same clip resulting in a deadlock in the mediaplayer. Fix:- Notify application with MEDIA_INFO_STARTED_AS_NEXT only when start for the next clip is successful. Change-Id: I77c570074c7c98c996122e275161ba88298e56fc
* audioTrack: Handle track invalidate on wait for stream doneYamit Mehta2015-10-061-30/+30
| | | | | | | | | If a track invalidate is called while waiting for a stream done, AudioCallback handler is notified with event EVENT_STREAM_END. This might cause substantial data loss for offload playback. Try to recreate the track if needed. Change-Id: Ie663c85e92588ddfd8d633f4bf5024f9fa4f5c2e
* libstagefright - Fix seek on audio having empty stss blockYamit Mehta2015-10-061-6/+14
| | | | | | | | | | | Ignore stss block for audio even if its present, all audio sample are sync samples itself, self decodeable and playable. Parsing this block for audio restricts audio seek to few entries available in this block, sometimes 0, which is undesired. CRs-Fixed: 664870 Change-Id: If3208d5c0557d3eaeddf875d6c6762bd870c439b
* audio: add support for offload FLACSharad Sangle2015-10-065-1/+24
| | | | | | | Add support for FLAC playback in compressed offload mode Change-Id: I617b41b867277272212d6cf1a6f82f646c5b1032
* Initialize the start time if not specified in meta dataYamit Mehta2015-10-061-0/+2
| | | | | | | | | | | | | | If the start time is not specified in meta data, the start time will be assigned with latency of AudioRecord, it's calculated by allocated frame count which is not the real start time when the first frame received Initialize the start time to the current system time if not specified in meta data CRs-Fixed: 812379 Change-Id: Ia007ca4592fe1f96e105d4ec48305c578b677bb1
* audio: add WMA formats in MediaDefsSharad Sangle2015-10-062-0/+4
| | | | | | added WMA mime/format in mediaDefs. Change-Id: Ifefe04647071eee04ab1e746436fec056ece689f
* audio: add support for AMRWB+Sharad Sangle2015-10-063-2/+14
| | | | | | | | | add support for AMRWB+ audio decoding Conflicts: media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp Change-Id: I6eedebe93c482150234b4ca1d0472b189c450dc6
* stagefright: Disable AwesomePlayerMingming Yin2015-10-067-381/+1
| | | | | | | | | | | | Permanently remove StagefrightPlayer codebase & remove its entry from MediaPlayerFactory as AwesomePlayer is completely replaced by NuPlayer. Keep the AwesomePlayer codebase to make libstagefright_timedtext available to NuPlayer via libstagefright. Conflicts: media/libmediaplayerservice/MediaPlayerFactory.cpp Change-Id: Idfecdc519919ee940817c7bb515433fc37588bd3
* Stagefright: Make classes customizable and add AV extensionsPraveen Chavan2015-10-0633-18/+1119
| | | | | | | | | | | Change access modifiers and qualify methods with virtual, to allow extensions. Add facility for loading customizations (Extended classes) dynamically. Conflicts: media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp Change-Id: Icc8965754fb1c73175a13a9ad24c19665ad60988
* mediaplayerservice: fix 64-bit compliation errorsPraveen Chavan2015-10-066-32/+36
| | | | | | | | | | Use correct format specifiers to fix 64-bit compilation. Conflicts: media/libmediaplayerservice/StagefrightRecorder.cpp media/libstagefright/VideoFrameScheduler.cpp Change-Id: Ic2238db525a23710716558015ca152871b4c549f
* audio: add support for FLAC decodingSharad Sangle2015-10-063-2/+12
| | | | | | added support for FLAC decoding Change-Id: Ia35b0b9218fdf2584348a2a95bf0401c5065dedc
* drm: include symbols from libdrmframeworkcommon in libdrmframeworkPraveen Chavan2015-10-061-1/+1
| | | | | | | | to let modules dependant (statically) on libdrmframeworkcommon to be able to link to libdrmframework dynamically CRs-Fixed: 655018 Change-Id: I745c604398d191d0d8c96a68d33f8494add303a1
* NuPlayerRenderer: Update position of AV stream even after audio EOSPraveen Chavan2015-10-062-1/+7
| | | | | | | | | | | | For AV streams with shorter audio, anchorTime does not update beyond audio EOS causing MediaPlayer.getCurrentPosition to return the same fixed value (progress bar does not update). Allow updating the current position in renderer beyond the anchorTime to update the player's position if audio stream is present. CRs-Fixed: 808073 Change-Id: I75625d24a6c155ff12f27fd0848503657e9219aa
* nuplayer: Fix incorrect audio resume time during seekXavier Varricatt2015-10-061-1/+2
| | | | | | | | | | | | GenericSource uses the timestamp of last video buffer read in readBuffer() to seek audio, due to which audio starts at a later position leading to frame drops. Add change to use the first video sample timestamp to seek audio CRs-Fixed: 780094 Change-Id: I5f2061e67994a3a0330b527bd3164ee04ed04005
* libstagefright: Use proper ctts offsetSurajit Podder2015-10-061-2/+2
| | | | | | | | | | Calculate ctts offset as difference between composition time and decoding time, and avoid adding kMaxCttsOffsetTimeUs as it increases the sample timestamp by the same amount which leads to av sync loss for B-frames. CRs-Fixed: 524739 Change-Id: I75a1bb594536623e3a445af2ee1ceb0cf0926a6e
* libstagefright/omx: Fix CallbackDispatcher dereference in callback.Shivaprasad Hongal2015-10-061-2/+16
| | | | | | findDispatcher can return NULL. Check for NULL. Change-Id: I07edc427b706dfdeec6a6f90f13d00c8941e77f2
* libstagefright: Use 3gp4 ftyp box when AMR audio is presentLeena Winterrowd2015-10-062-3/+10
| | | | | | | | | | | mp42 boxes do not support the 'damr' box type whereas 3gp4 boxes explicitly support it. Using mp42 makes clips with AMR incompliant with mpeg4 standards and unplayable by many media players. To ensure interoperability, use a 3gp4 box if the recorded clip contains AMR audio. CRs-Fixed: 721883 Change-Id: I75e3558cd5088d05d36104abfb04a3c0c1d1a4e7
* stagefright: Handle missing text track languageLeena Winterrowd2015-10-061-3/+6
| | | | | | | | Only set timed text language if kKeyMediaLanguage is found. Crs-Fixed: 641896 Change-Id: Ie471bc458e42f5728064e447ac5c33b07311d3fd
* libstagefright/omx: Fix logic to handle dead observers.Shivaprasad Hongal2015-10-061-0/+1
| | | | | | | | OMXNodeInstance freeNode tries to tear down OMX component if not in OMX_StateLoaded. It handles all other states except OMX_StatePause. This change adds OMX_StatePause handling. Change-Id: I3bae2015c57b932186069756490c9bdf1f93eea4
* libstagefright: Explicitly disconnect HTTP connectionSurajit Podder2015-10-061-0/+7
| | | | | | | | | | | The HTTP connection created by StagefrightMetadataRetriever is not closed explicitly, and tcp activity continues even after metadata retriever is destroyed Explicitly disconnect HTTP connection in StagefrightMetadataRetriever Change-Id: I261d369e8dcff1bc0a3c7225243e865858b4fc7c CRs-Fixed: 754684
* CamcorderProfiles: add VGA and 4K-DCI profilesPraveen Chavan2015-10-062-2/+23
| | | | | | Also add high-speed profile for CIF. Change-Id: Iacd8537f62112171ee611a7534f9d432f45d5d3f
* libstagefright: Fix MPEG4Writer crash when internal memory is almost full.Paras Nagda2015-10-061-1/+5
| | | | | | | | | | | | | | - Camcoder recording crashes when internal memory is almost full. - crash happens if there is no space to write even first video frame. as soon as first video frame comes file limit exceeded information is given back to recorder and timestamp of video is not updated. since video timestamp is not proper crash is seen when comparing it with audio timestamp. - check is added while doing comparision of timestamps and reporting error in track stop() so recorded file is not saved to memory. Change-Id: I69e8bad62ab03ce01de5cbdb13f8ea841b787fcb
* Stagefright: avc_utils: handle invalid sample aspect ratioPraveen Chavan2015-10-061-1/+1
| | | | | | | | | Set sample aspect ratio width & height only if both sar_width and sar_height are valid ( >1 ). sar-height being 0 can cause divide by zero exception in NuPlayer. Change-Id: Idfc4cae57651f3b5fd755057a880503f359aa004 CRs-Fixed: 735506
* NuPlayer: DEBUG: Notify RENDERING_STARTED event after resumePraveen Chavan2015-10-061-0/+1
| | | | | | | notify MEDIA_INFO_RENDERING_START after resuming from pause, to enable java app to profile resume-latency. Change-Id: I06bd6307511b7dde8f6fe1a2d15009d3a543a318
* audiopolicy: Add audio proxy device in audio policyYamit Mehta2015-10-061-0/+3
| | | | | | Add audio policy for WFD and visualiser usecase. Change-Id: Idf3856a373eb7a05362f19d6cb117e9d4fb757ef
* Camera: Add support for preview frame fdSusmitha Gummalla2015-10-061-3/+14
| | | | | | | -Add support for receiving dataCallback with fd/buffer as frame buffer CRs-fixed: 654901 Change-Id: I5c16e560f1e209a6ab4afa4f3437602b02992b9b
* libstagefright: Add check for bits avail to readYamit Mehta2015-10-061-1/+1
| | | | | | | | - If number of bits available to read from ABitReader is zero,do not call getBits. Change-Id: I4b7332b03ed6ee1d7b6711e5b4c5dce396151b03 CRs-Fixed: 777657
* Camera: Add extensions to CameraClientShuzhen Wang2015-10-062-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change includes the following gerrits: # This is a combination of 4 commits. # The first commit's message is: Camera: Enable Histogram feature. Link the histogram enable/disable commands from application to the HAL layer. Change-Id: I510c4e1798285ed1315bfb0d234fa76090659ba2 # This is the 2nd commit message: Camera: Add support for ZSL burst mode. Added ability to set number of snapshots in burst mode. Change-Id: Ie0e7c8c0117b7adc985cfc92df79747ee6a5ea51 # This is the 3rd commit message: CameraService: Adds support for longshot mode - This change introduces additional functionality inside CameraClient for supporting continuous compressed data callbacks. This is needed for 'Burst/Long shot' mode where we could have indefinite number of callbacks after capture is triggered. (cherrypicked from commit e4f502aa7cbe8875e8a1589024cdcf227c228a2b) Change-Id: Ia18ca9bdda7736c679db557e510870115089537a # This is the 4th commit message: CameraClient: Enables meta data notifications. Adds the needed functionality for enabling/disabling metadata messages depending on the camera client commands. Change-Id: I39d632b4742e83df5db5f86b12742aefc2480dfc Cherrypicked from 25bd97f5ec30e7942c3b1fdc96115da6028736f0 Change-Id: Ie930d20c962593e40a0767f9cf7d4385df8e2561
* Camera: Fix flashlight deadlockChien-Yu Chen2015-09-022-3/+5
| | | | | | | | Use a dedicated mutex for torch UID map so it won't cause a deadlock after flashlight app gets killed while the torch is on. Bug: 23722318 Change-Id: I228377aa0412052d56b6b948361d9abaecbbc686
* stagefright: MPEG4Extractor: allow 'hdlr' box before first trackLajos Molnar2015-09-021-4/+3
| | | | | Bug: 21725583 Change-Id: I799c1967759c7e49fb50281a1708188450caac77
* IMediaPlayer.cpp: make sure structures are initialized to 0Nick Kralevich2015-09-021-0/+2
| | | | | | | | Credit https://code.google.com/p/android/issues/detail?id=183310 Bug: 23515142 Change-Id: Idbd66fb148bd0ac1dd78f8651d0164f2a41e2427 (cherry picked from commit b73b826cc16291b33649402497efbe0f946413bd)
* libmedia: clear reply data for IEffect commandAndy Hung2015-09-021-2/+2
| | | | | Bug: 23540907 Change-Id: Ib89afc6b273b0eb310bbc5a1bd92b1e3d407c249
* NuPlayer: do not create audio decoder if the player is still in shutdown ↵Wei Jia2015-08-281-1/+3
| | | | | | | process. Bug: 23350795 Change-Id: I46b02cf31d7d4447806910a9ecd8c3bda05f2f5b