summaryrefslogtreecommitdiffstats
path: root/include/media
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and ↵Eric Laurent2010-06-141-0/+462
|\ | | | | | | JNI." into kraken
| * Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.Eric Laurent2010-06-111-0/+462
| | | | | | | | | | | | | | | | | | | | Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations, OpenSL ES effect interfaces and audio effect JNI. Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class to implement more specific JAVA classes to control audio effects from JAVA applications. Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
* | Initial checkin for pause and resume controlJames Dong2010-06-113-0/+8
| | | | | | | | Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
* | Switch stagefright's approach to prefetching to the new model. The java ↵Andreas Huber2010-06-103-169/+5
| | | | | | | | | | | | MediaPlayer is now notified about rebuffering start/end via info messages. Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
* | Merge "Initial check-in of new caching/prefetching data source ↵Andreas Huber2010-06-101-0/+32
|\ \ | | | | | | | | | implementation." into kraken
| * | Initial check-in of new caching/prefetching data source implementation.Andreas Huber2010-06-101-0/+32
| | | | | | | | | | | | Change-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504
* | | Support "pausing" of MediaSources with the effect that they no longer pull ↵Andreas Huber2010-06-102-0/+12
|/ / | | | | | | | | | | on their upstream source until a subsequent read-with-seek. Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
* | Remove some hard-coded encoding parametersJames Dong2010-06-082-8/+10
| | | | | | | | Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
* | Initial check-in for collecting stats from authoring engine at runtimeJames Dong2010-06-082-0/+7
| | | | | | | | Change-Id: I93a9d8bd260efc5e7fc135b726e3f1307c6df794
* | Second part of speeding up video recording frame rateJames Dong2010-06-081-1/+3
|/ | | | | | | | | | | | | | 1. Avoid copying the input recording frames to the encoder via OMX interface for TI video encoder This is a missing change for part one which help reduces the CPU load. 2. Release output buffers as early as possible. This is a little bit helpful, but not critical. TODO: We should save the underlying pointers allocated by the OMX component before we replace them and restore them before we call OMX_FreeBuffer()! Change-Id: Ib3a88978f4c3b1153808872eaa7ac4c265a811ff
* Initial checkin of mpeg2 transport stream parser for stagefright.Andreas Huber2010-06-071-0/+1
| | | | Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
* Merge "Initial checkin of "foundation" library for future stagefright ↵Andreas Huber2010-06-0711-0/+702
|\ | | | | | | development." into kraken
| * Initial checkin of "foundation" library for future stagefright development.Andreas Huber2010-06-0711-0/+702
| | | | | | | | Change-Id: I11714dcaa647d0437a13e4c5b953b35e712da8f3
* | Merge "Remove hard-coded pixel format for recording frames in CameraSource. ↵James Dong2010-06-071-1/+1
|\ \ | |/ |/| | | Retrieve the pixel format from Camera HAL at runtime." into kraken
| * Remove hard-coded pixel format for recording frames in CameraSource.James Dong2010-06-031-1/+1
| | | | | | | | | | | | Retrieve the pixel format from Camera HAL at runtime. Change-Id: I63f820f54c59c2019dfd195320b9928da3362536
* | Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack ↵Eric Laurent2010-06-037-21/+109
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modifications. First drop of audio framework modifications for audio effects support. - AudioTrack/AudioRecord: Added support for auxiliary effects in AudioTrack Added support for audio sessions Fixed left right channel inversion in setVolume() - IAudioFlinger: Added interface methods for effect enumeraiton and instantiation Added support for audio sessions. - IAudioTrack: Added method to attach auxiliary effect. - AudioFlinger Created new classes to control effect engines in effect library and manage effect connections to tracks or output mix: EffectModule: wrapper object controlling the effect engine implementation in the effect library. There is one EffectModule per instance of an effect in a given audio session EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session. EffectChain for session 0 is for output mix effects, other chains are attached to audio tracks with same session ID. Each chain contains a variable number of EffectModules EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application controlling (or using) an effect module. THe EffectModule maintians a list of EffectHandles. Added support for effect modules and effect chains creation in PlaybackThread. modified mixer thread loop to allow track volume control by effect modules and call effect processing. -AudioMixer Each track now specifies its output buffer used by mixer for accumulation Modified mixer process functions to process tracks by groups of tracks with same buffer Modified track process functions to support accumulation to auxiliary channel Change-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c
* Avoid copying for input recording frames in CameraSourceJames Dong2010-05-281-4/+6
| | | | | | | | | | | | | | This is the part one. - Let CameraSource be a MediaBufferObserver. It releases the recording frame when the ref count of a MediaBuffer containing the recording frame drops to 0. This reduces the CPU load from 90+% down to 50-60%. Part two is related to the avoidance of copying the input video frames to the video encoder. However, we are not able to use OMX_UseBuffer directly. Still work on the second part. Change-Id: I906f1d054ae8bdcf82e1617f1fc120152f2eb2eb
* Merge "Avoid repeatedly allocating and freeing memory in CameraSource" into ↵James Dong2010-05-261-0/+2
|\ | | | | | | kraken
| * Avoid repeatedly allocating and freeing memory in CameraSourceJames Dong2010-05-261-0/+2
| | | | | | | | Change-Id: Ia3760820da0559e4e908dedae1f1df05f9a6a242
* | Fix issue 2667797: [Audio Effect Framework] new base class and binder ↵Eric Laurent2010-05-242-0/+106
| | | | | | | | | | | | | | | | | | interfaces for effect control. Added IEffect and IEffectClient binder interfaces to exchange effect module control and status information between application and media server processes. Change-Id: I10e8e894898e52ed9956a765d0ef7075eb2593af
* | Merge "Fix issue 2667796: [Audio Effect Framework] Effect factory and ↵Eric Laurent2010-05-246-33/+1010
|\ \ | |/ |/| | | libraries." into kraken
| * Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries.Eric Laurent2010-05-216-33/+1010
| | | | | | | | | | | | | | | | | | | | First effect factory and effect library API implementation. Also added default effect libraries for reverb and equalizer effects. These libraries are for functional test only and are not fine tuned with regard to audio quality. They will probably be replaced by other implementations before the release. Change-Id: I6868f8612146ae282c64052765c61a52ec789ec8
* | Support for media extraction from .mkv/.mka Matroska files in stagefright.Andreas Huber2010-05-201-0/+2
|/ | | | | Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca related-to-bug: 2483739
* Initial software encoder checkinsJames Dong2010-05-192-3/+3
| | | | Change-Id: I27f387db23594e46384c4eb3a0093ce220bb6b60
* Fix issue 2553359: Pandora does not work well with Passion deskdock / Cardock.Eric Laurent2010-05-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is due to a too big difference between the buffer size used at the hardware interface and at the A2DP interface. When no resampling occurs we don't notice problems but the timing is very tight. As soon as resampling is activated, the AudioTrack underruns. This is because the AudioTrack buffers are not resized when moving the AudioTrack from hardware to A2DP output. The AudioTrack buffers are calculated based on a hardware output buffer size of 3072 bytes. Which is much less than the A2DP output buffer size (10240). The solution consists in creating new tracks with new buffers in AudioFlinger when the A2DP output is opened instead of just transfering active tracks from hardware output mixer thread to the new A2DP output mixer thread. To avoid synchronization issues between mixer threads and client processes, this is done by invalidating tracks by setting a flag in their control block and having AudioTrack release the handle on this track (IAudioTrack) and create a new IAudioTrack when this flag is detected next time obtainBuffer() or start() is executed. AudioFlinger modifications: - invalidate the tracks when setStreamOutput() is called - make sure that notifications of output opening/closing and change of stream type to output mapping are sent synchronously to client process. This is necessary so that AudioSystem has the new stream to output mapping when the AudioTrack detects the invalidate flag in the client process. Previously their were sent when the corresponding thread loop was executed. AudioTrack modifications: - move frame count calculation and verification from set() to createTrack() so that is is updated every time a new IAudioTrack is created. - detect track invalidate flag in obtainBuffer() and start() and create a new IAudioTrack. AudioTrackShared modifications - group all flags (out, flowControlFlag, forceReady...) into a single bit filed to save space. Change-Id: I9ac26b6192230627d35084e1449640caaf7d56ee
* Detect and handle premature termination of a recording sessionJames Dong2010-05-141-1/+2
| | | | Change-Id: Ifb83b19f3e68580345b23efed5d5956fb81baeb8
* Audio/video initial recording time synchronizationJames Dong2010-05-141-0/+4
| | | | Change-Id: Iac58b63d474fe09c1d36ba6ecde91dafbb7fef9a
* Handle recording file size and/or duration limitJames Dong2010-05-143-1/+21
| | | | Change-Id: Ib9ed1f3ebd8fef550cc130a7ef11f2905fa9aedc
* Remove dummy surface in CameraSourceJames Dong2010-05-131-4/+0
| | | | | | bug - 2680919 Change-Id: Ia0308cf57fd67058b4dd0e042b3ce97f13df475f
* am b003ad17: am e0dc80f8: Merge "Support for customizable socket-read ↵Andreas Huber2010-05-121-0/+1
|\ | | | | | | | | | | | | | | | | timeouts through the HTTP response." into froyo Merge commit 'b003ad17bffeba7875b9708ffeef2300ef28c916' into kraken * commit 'b003ad17bffeba7875b9708ffeef2300ef28c916': Support for customizable socket-read timeouts through the HTTP response.
| * Support for customizable socket-read timeouts through the HTTP response.Andreas Huber2010-05-111-0/+1
| | | | | | | | | | | | | | | | | | Specify a response header of "X-SocketTimeout: 15" to override the default timeout of 5 secs with a timeout of 15 seconds. Specify a negative value to disable the timeout altogether. Change-Id: I545adf3d8b3f7efe5f8d081a641c6404440a77db related-to-bug: 2675721
* | Output streamable MP4 file during MP4 file recordingJames Dong2010-05-111-0/+8
| | | | | | | | | | | | | | When the reserved moov box space is not big enough, fall back to non-streamable MP4 file. Change-Id: I93382d037d657a3f3fe2af31e4ea26e1898b4d95
* | am 17078510: am d13efb20: Merge "A new OggExtractor/VorbisDecoder combo to ↵Andreas Huber2010-05-103-1/+8
|\ \ | |/ | | | | | | | | | | | | | | support approximate seeking." into froyo Merge commit '1707851090e6512a77247b0c260dd673ef687589' into kraken * commit '1707851090e6512a77247b0c260dd673ef687589': A new OggExtractor/VorbisDecoder combo to support approximate seeking.
| * A new OggExtractor/VorbisDecoder combo to support approximate seeking.Andreas Huber2010-05-073-1/+8
| | | | | | | | | | Change-Id: Id5d0c1c8b1adc62896bb5ed951f7b5cfda811e95 related-to-bug: 2654400
* | am 71bd9fc8: am 100ef9be: Merge "Disable vorbis seek when streaming from ↵Andreas Huber2010-05-063-4/+13
|\ \ | |/ | | | | | | | | | | | | | | localhost." into froyo Merge commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c' into kraken * commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c': Disable vorbis seek when streaming from localhost.
| * Disable vorbis seek when streaming from localhost.Andreas Huber2010-05-063-4/+13
| | | | | | | | | | Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f related-to-bug: 2654400
* | Support audio and video track interleaving in the recorded mp4 fileJames Dong2010-05-052-4/+12
| | | | | | | | Change-Id: Ifa27eb23ee265f84fe06773b29b0eb2b0b075b60
* | am 8ea45aad: am e083d0a2: Merge "Support for Ogg Vorbis decoding in ↵Andreas Huber2010-05-041-0/+1
|\ \ | |/ | | | | | | | | | | | | | | stagefright." into froyo Merge commit '8ea45aad100ee25067b2e83703454c71a968ba4f' into kraken * commit '8ea45aad100ee25067b2e83703454c71a968ba4f': Support for Ogg Vorbis decoding in stagefright.
| * Support for Ogg Vorbis decoding in stagefright.Andreas Huber2010-05-041-0/+1
| | | | | | | | | | | | | | Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright. Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8 related-to-bug: 2654400
* | Use timestamp from camera driver for CameraSourceJames Dong2010-04-281-2/+7
| | | | | | | | Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
* | am 248ea4a9: am 5baa5e19: Merge "Distinguish QCELP audio from mpeg4 audio, ↵Andreas Huber2010-04-121-0/+1
|\ \ | |/ | | | | | | | | | | | | | | ignore QCELP audio tracks since we don\'t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks." into froyo Merge commit '248ea4a9f773210a7b7dbd7892e6b865a0f7add3' into kraken * commit '248ea4a9f773210a7b7dbd7892e6b865a0f7add3': Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.
| * Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we ↵Andreas Huber2010-04-121-0/+1
| | | | | | | | | | | | | | don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks. Change-Id: Ic9a9198413431db4ea40bb63b9de91aa8a7183af related-to-bug: 2587341
* | Remove unnecessary lock from AMRWriter.Andreas Huber2010-04-091-3/+1
|/ | | | Change-Id: Ia02966d936dd8cbb31e92051578a3fa816885710
* Refactor connection/redirection code, support redirects on reconnection.Andreas Huber2010-04-081-3/+2
| | | | | Change-Id: Id2517568000e028b01553c06a4893813a6883168 related-to-bug: 2580785
* Increase the size of the pages used in CachingDataSource (total amount of ↵Andreas Huber2010-04-081-1/+1
| | | | | | | memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing "\r\n" in the range header and better error handling on http connection. Change-Id: Ic9a6ef204362bc9afdc61e081c76bc62e5ef92ad related-to-bug: 2580785
* Coalesce multiple encoded AAC frames into a single input buffer on this ↵Andreas Huber2010-04-021-10/+13
| | | | | | | particular OMX codec to increase throughput significantly. Change-Id: I90c7db6656a53339c5d454336548c4f00d0d9064 related-to-bug: 2548426
* Public API changes for CameraProfile and CamcorderProfile classesJames Dong2010-04-011-2/+2
| | | | | | | | | | | | 1. CamcorderProfile: “@see” links are broken; Remove m prefix from fields; remove “final” 2. CamcorderProfile.Quality: use an int rather than an enum 3. Add API on MediaRecorder to pass in a CamcorderProfile 4. CameraProfile.getImageEncodingQualityLevels @hide or make it consistent with CamcorderProfile 5. Remove a convenient method and instead let the (mms) app do that task bug - 2553862 Change-Id: I759215c7892f772aeddf3651d17038489c6fbc50
* While streaming media data, upon a socket-read error, try reconnecting to ↵Andreas Huber2010-03-171-1/+7
| | | | | | | the server and attempt to re-read for at most 3 times. Change-Id: I7534905e07a6456d18b26d5d60fa8915f25ae99e related-to-bug: 2492187
* Properly handle errors during the codec configuration phase, attempt to ↵Andreas Huber2010-03-161-1/+3
| | | | | | | revert to next available (likely software-) codec if configuration fails. Change-Id: Id1c699711e30139c9cc29df972254b5ba026e6fb related-to-bug: 2517098
* Fix the media metadata retriever (tests). The native constants must match ↵Andreas Huber2010-03-122-2/+8
| | | | | | those published at the java layer. Change-Id: Ic1efed709e4d93c61913b231a8cd3ef1074f8ca0