summaryrefslogtreecommitdiffstats
path: root/include/media
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge "Adding SurfaceEncoder for encoding FilterFrames"Pannag Sanketi2011-07-223-1/+362
|\ \ \ \ | |/ / /
| * | | Adding SurfaceEncoder for encoding FilterFramesPannag Sanketi2011-07-213-1/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding SurfaceEncoder which can be used to encode custom frame data. In a sense, it is reverse of what SurfaceTexture does. SurfaceEncoder takes in frames from a native window and passes them to an encoder, thus acting like a MediaSource. It uses GRAlloc buffers underneath for passing data. The client side sets the geometry, format in the beginning, which cannot be changed while the recording is going on. Currently, there is no common pixel format that both GRAlloc and HAL understand. Also, the encoder cannot encode using the data from the GRAlloc buffers. The SurfaceEncoder_test examines mainly the buffer passage since true encoding cannot be done at this point. SimpleDummyRecorder 'reads' the frames in the same thread as the start(), whereas DummyRecorder 'reads' in a separate thread much like the MPEG4Writer. The test with DummyRecorder is much closer to the real encoding implementation. Related to bug id: 4529323 Change-Id: I58ec19a150f8fe4d6195196dc44f55002b46c7c8
* | | | Retry datasource fetches a few times before giving up (NuCachedSource2).Andreas Huber2011-07-221-0/+5
|/ / / | | | | | | | | | | | | Change-Id: I147fc18ef55bc89d2e2fee69b7869c45abbfdd6b related-to-bug: 3405354
* | | Adding AndoirdOpaque Colorformat to OMXPannag Sanketi2011-07-211-202/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding an enum to indicate an android opaque OMX colorformat. This will inform the encoder that the actual colorformat will be relayed by the Frames read from the GRAlloc Buffers Related to bug id: 4529323 Change-Id: Iddc5bd1ce8ca2b2506a57aadf5fc91ff0c7b78ef
* | | Merge "fix for issue 4142219 Don't hard code platform-specific ↵Hong Teng2011-07-211-1/+45
|\ \ \ | | | | | | | | | | | | limitations-jni/java part"
| * | | fix for issue 4142219Hong Teng2011-07-201-1/+45
| |/ / | | | | | | | | | | | | | | | Don't hard code platform-specific limitations-jni/java part Change-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3
* | | Merge "Untangle MediaScanner error handling. Bug: 5056917"Jeff Brown2011-07-202-15/+31
|\ \ \
| * | | Untangle MediaScanner error handling.Jeff Brown2011-07-202-15/+31
| |/ / | | | | | | | | | | | | | | | Bug: 5056917 Change-Id: I1a7a73579e3ba4e9709459329fc1901a28b0f4b1
* | | Merge "Audio framework: support for audio pre processing"Eric Laurent2011-07-203-8/+10
|\ \ \ | |/ / |/| |
| * | Audio framework: support for audio pre processingEric Laurent2011-07-183-8/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Audio effect framework is extended to suport effects on output and input audio path. AudioFlinger: Support for audio effects and effect chains is moved from PlaybackThread class to ThreadBase class so that RecordThread can manage effects. Effects of type pre processing are allowed on record thread only. When a pre processing is enabled, the effect interface handle is passed down to the input stream so that the audio HAL can call the process function. The record thread loop calls the effect chain process function that will only manage the effect state and commands and skip the process function. AudioRecord: The audio session is allocated before calling getInput() into audio policy serice so that the session is known before the input theead is created and pre processings can be created on the correct session. AudioPolicyService: default pre processing for a given input source are loaded from audio_effects.conf file. When an input is created, corresponding effects are created and enabled. Change-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790
* | Merge "MediaPlayer: add ANativeWindow (dis)connect calls"Jamie Gennis2011-07-181-0/+6
|\ \
| * | MediaPlayer: add ANativeWindow (dis)connect callsJamie Gennis2011-07-141-0/+6
| | | | | | | | | | | | | | | | | | | | | This change makes MediaPlayer connect to the ANativeWindow to which it is going to render video frames and disconnect when it is done. Change-Id: I88ab5c2fe62493aabdc84a283ff31634f795d415
* | | Merge "Add option to query hardware decoders only"Jean-Michel Trivi2011-07-181-1/+1
|\ \ \ | |_|/ |/| |
| * | Add option to query hardware decoders onlyJean-Michel Trivi2011-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add an option to OMXCodec::QueryCodecs() to filter out software codecs. Update stagefright command line tool to list the roles of codecs. Change-Id: Icddb79118c30fe13cc3aea20f340174cc082c4e0
* | | Merge "Support profile and level query for SW video decoders"James Dong2011-07-142-5/+5
|\ \ \
| * | | Support profile and level query for SW video decodersJames Dong2011-07-112-5/+5
| | |/ | |/| | | | | | | Change-Id: I9c20db128be96cd36cf2083e08e8c21f5e6d1fdf
* | | Remove legacy http support from stagefright, chromium is the new hotness.Andreas Huber2011-07-131-61/+0
| | | | | | | | | | | | Change-Id: I6725d42d38b91e6a1cbca43174870f445aeb3d99
* | | Enable signalling of a stream discontinuity involving a format-changeAndreas Huber2011-07-131-0/+11
| |/ |/| | | | | | | | | | | through IStreamListener. Change-Id: Ic0409cdc4891ad26b61f2f98bdda3c7fb2e2de6a related-to-bug: 5022434
* | Make MetadataBufferType.h C-friendlyJames Dong2011-07-121-0/+7
| | | | | | | | Change-Id: I4388d8f6cf30f08858aec73aa971647feae4a5e3
* | Merge "Do not wait for unlaunched threads in stop()"James Dong2011-07-111-1/+3
|\ \
| * | Do not wait for unlaunched threads in stop()James Dong2011-07-111-1/+3
| |/ | | | | | | Change-Id: If681749753bb96ee98c1539658cfd919eeb0cb65
* | Release camera if CameraSource::start() has not been calledJames Dong2011-07-101-0/+6
|/ | | | Change-Id: I2f7e4b8501db3d80b9aa6f99d896d778bec29e8c
* Moved and renamed effect API header filesEric Laurent2011-07-077-325/+1
| | | | | | | | Moved specific effect header files to system/media/audio_effects/include/audio_effects and renamed to lower case (effect_xxx.h). Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
* Merge "- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in ↵Gloria Wang2011-07-062-1/+9
|\ | | | | | | MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager"
| * - Retrieve is_drm in MediaMetadataRetriever.Gloria Wang2011-07-012-1/+9
| | | | | | | | | | | | | | | | | | - Add one more column in MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
* | Merge "Charge network traffic to the uid of the process using the MediaPlayer."Andreas Huber2011-07-011-0/+4
|\ \
| * | Charge network traffic to the uid of the process using the MediaPlayer.Andreas Huber2011-07-011-0/+4
| |/ | | | | | | | | Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067 related-to-bug: 4517282
* | Merge "Add extended metadata buffer support by defining different types of ↵James Dong2011-07-011-0/+77
|\ \ | | | | | | | | | metadata buffers"
| * | Add extended metadata buffer support by defining different types of metadata ↵James Dong2011-06-281-0/+77
| | | | | | | | | | | | | | | | | | buffers Change-Id: I6aa6b5da004c240c9986f6b9036950e234c8bd42
* | | Support a "secure input buffer" mode for use by Widevine DRM in OMXCodec.Andreas Huber2011-07-013-6/+26
| |/ |/| | | | | Change-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad
* | Support for writing output data to a provided callback function instead of a ↵Andreas Huber2011-06-281-0/+10
|/ | | | | | | | file in MPEG2TSWriter Change-Id: Ie54a5677c7b789a973aa50b7f197c6db238425bc
* Multiple changes to ACodec/codec tools:Andreas Huber2011-06-281-6/+7
| | | | | | | | | | | | | | Make sure sf2 does not coalesce input buffers, generalize ACodec's codec instantiation based on OMXCodec's list of eligible component names. Some changes/additions to the "sf2" commandline tool Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s' New option '-R' renders surface-allocated buffers. Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified. Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
* Add framework support for camcorder zoom.Wu-cheng Li2011-06-275-29/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to allow applications using the camera during recording. Camera service allows only one client at a time. Since camcorder application needs to own the camera to do things like zoom, the media recorder cannot access the camera directly during recording. So ICameraRecordingProxy is a proxy of ICamera, which allows the media recorder to start/stop the recording and release recording frames. ICameraRecordingProxyListener is an interface that allows the recorder to receive video frames during recording. ICameraRecordingProxy startRecording() stopRecording() releaseRecordingFrame() ICameraRecordingProxyListener dataCallbackTimestamp() The camcorder app opens the camera and starts the preview. The app passes ICamera and ICameraRecordingProxy to the media recorder by MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in MediaRecorder::start(). After setup, the recorder disconnects from camera service. The recorder calls ICameraRecordingProxy::startRecording() and passes a ICameraRecordingProxyListener to the app. The app connects back to camera service and starts the recording. The app owns the camera and can do things like zoom. The media recorder receives the video frames from the listener and releases them by ICameraRecordingProxy::releaseRecordingFrame. The recorder calls ICameraRecordingProxy::stopRecording() to stop the recording. The call sequences are as follows: 1. The app: Camera.unlock(). 2. The app: MediaRecorder.setCamera(). 3. Start recording (1) The app: MediaRecorder.start(). (2) The recorder: ICamera.unlock() and ICamera.disconnect(). (3) The recorder: ICameraRecordingProxy.startRecording(). (4) The app: ICamera.reconnect(). (5) The app: ICamera.startRecording(). 4. During recording (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp() (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame(). 5. Stop recording (1) The app: MediaRecorder.stop() (2) The recorder: ICameraRecordingProxy.stopRecording(). (3) The app: ICamera.stopRecording(). bug:2644213 Change-Id: I15269397defc25cbbcae16abc071c8349c123122
* Integrating TI OMAP4 Video DecoderAnu Sundararajan2011-06-232-0/+4
| | | | | | | | | | | | Added the video decoder component name to kDecoderInfo. Set the quirks for the video decoder. Add a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format. Added a color conversion routine [ from NV12 to RGB ] for thumbnail generation. Change-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd Signed-off-by: Devaraj Rangasamy <dev@ti.com> Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com> Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
* - Public part of the Metadata API.Gloria Wang2011-06-231-36/+35
| | | | | | - Modify the media framework test for Metadata. Change-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf
* Timed text display format support:Gloria Wang2011-06-221-0/+3
| | | | | | | | | 1. Extract 3GPP global format descriptions 2. Extract 3GPP local format descriptions 3. Define data structure (TimedText) for applications to retrieve the format metadata Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
* Merge "audio: update for audio/audio_policy header names/locations"Dima Zavin2011-06-132-2/+2
|\
| * audio: update for audio/audio_policy header names/locationsDima Zavin2011-06-132-2/+2
| | | | | | | | | | Change-Id: I36c49352eee57559403cd1597f56a8485a360289 Signed-off-by: Dima Zavin <dima@android.com>
* | Add B frame support for MPEG4WriterJames Dong2011-06-132-0/+7
|/ | | | | | o requires the support of negative ctts duration values (ctts version 1) Change-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf
* Make dumpsys(media.player) more useful by having AwesomePlayer populate it.Andreas Huber2011-06-081-0/+4
| | | | Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
* Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.hJames Dong2011-06-031-0/+1
| | | | Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
* Do not call getEstimatedBandwidth if the streaming is not HTTP-basedJames Dong2011-06-021-0/+1
| | | | Change-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261
* Revert "Use AudioTrack::event_type not int in callback"Glenn Kasten2011-06-013-5/+4
| | | This reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1
* Use AudioTrack::event_type not int in callbackGlenn Kasten2011-06-013-4/+5
| | | | Change-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c
* Merge "Use channel mask instead of channel count for track creation"Jean-Michel Trivi2011-06-013-22/+23
|\
| * Use channel mask instead of channel count for track creationJean-Michel Trivi2011-06-013-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Record and playback objects (resp AudioRecord and AudioTrack) are created using a channel mask, but this information is lost in the mixer because only the channel count is known to AudioFlinger. A channel count can always be derived from a channel mask. The change consists in: - disambiguiting variable names for channel masks and counts - passing the mask information from the client to AudioFlinger and the mixer. - when using the DIRECT ouput, only verifying the format of the track is compatible with the output's for PCM. Change-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e
* | Send estimated bandwidth value as informational event when cache fetcher pausesJames Dong2011-05-311-0/+6
|/ | | | | | | | | | o Application can make informed decision about the available network bandwidth when cache fetcher pauses. o Application can also adjust how frequently the bandwidth is estimated within a range from one second to one minute. Change-Id: I90068001343e79da1886de03c565537787e1580b
* Removed interface to load audio effects librariesEric Laurent2011-05-273-92/+0
| | | | | | | Removed unused functions allowing dynamic loading of audio effects libraries from effects factory API. Change-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca
* New effect library APIEric Laurent2011-05-2710-816/+20
| | | | | | | | | | | | | | | | | Moved and renamed media/EffectApi.h to hardware/audio_effect.h Modified the effect library API to expose a library info structure containing an interface functions table. Also removed enums for audio channels, audio format and devices from effect API and use values from system/audio.h instead. Modified effects factory to support new library interface format and load libraries and efffects listed in audio_effects.conf file. The file audio_effects.conf is first loaded from /vendor/etc and then from /system/etc/audio_effects.conf if not found. Modified existing effect libraries to implement the new library interface. Change-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9
* Merge "Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts ↵Andreas Huber2011-05-261-0/+1
|\ | | | | | | streams."