summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright
Commit message (Collapse)AuthorAgeFilesLines
* Rotation supportJames Dong2010-11-052-0/+2
| | | | | | | | | | - We only support 0, 90, 180, and 270 degree clockwise rotation - Some players are known to ignore composition matrix in the MP4 file, although this is part of the MP4 file standard. Both QT and YT are supporting the rotation Change-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4
* DO NOT MERGEJames Dong2010-11-021-0/+1
| | | | | | | | Fix premature release of recording frames when physical address or metadata is stored in input video buffers - bug 3158459 Change-Id: If297189d2a87fc3abfda68c29ac75b490b30a902
* File writer size estimation improvementJames Dong2010-10-191-0/+1
| | | | | | | | | | | | | | o Do not count the reserved space for moov if the meta data size is small o Do not count the extra 1KB disturbing small file estimation. o Reduce the default minimum reserved space from 4 KB to 3 KB. o Estimate the moov size based on both duration AND file size limit is set and set it to the smaller estimated value. low risk change bug - 3111983 Change-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199
* For thumbnail extraction make sure we instantiate a decoder that allows ↵Andreas Huber2010-10-181-1/+5
| | | | | | | access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder. related-to-bug: 3106534 Change-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b
* Check-in of a copy of the Khronos OpenMAX headers formerly included from ↵Andreas Huber2010-10-1510-0/+6937
| | | | | | | external/opencore. Change-Id: Ie2ecf9558d4ee80cb5a2bbe66ad49f2165a7b09c related-to-bug: 3101573
* Merge "Support for writing to MPEG2 transport stream files." into gingerbreadAndreas Huber2010-10-131-0/+5
|\
| * Support for writing to MPEG2 transport stream files.Andreas Huber2010-10-121-0/+5
| | | | | | | | Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
* | HTTP Live content that are tagged as complete are now seekable.Andreas Huber2010-10-121-0/+1
|/ | | | | Change-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde related-to-bug: 2368598
* Disable 10secs forward/backward seeking for rtsp as seek is a very expensive ↵Andreas Huber2010-10-081-3/+4
| | | | | | | operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality. Change-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2 related-to-bug: 3073955
* Work to support switching transport streams mid-stream and signalling ↵Andreas Huber2010-10-072-2/+4
| | | | | | | discontinuities to the decoder. Change-Id: I7150e5e7342e1117c524856b204aadcb763e06ed related-to-bug: 2368598
* On this particular device the hardware video decoder spits out buffers that ↵Andreas Huber2010-10-072-1/+5
| | | | | | | don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume. Change-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c related-to-bug: 3070094
* Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after ↵Andreas Huber2010-10-051-3/+3
| | | | | | submitting all samples to AudioTrack to make sure those remaining samples are actually played out. Change-Id: Id574a0203efcb5e565f1b0fe77869fc33b9a9d56
* Fixed an issue where the reserved free space in the file writer was larger ↵James Dong2010-10-041-0/+1
| | | | | | | | | | | | | | | than intended The problem was that even though user does not explicitly request the max file size limit via MediaRecorder.setMaxFileSize(), the file writer sets an implicit file size limit if 32-bit file offset is used on user's behalf. The reserved free space is estimated based on the file size, if the file size limit is set by the user. The fix is to add an extra bool to tell the difference between an explit requested file size and an implicit file limit and use that to set the estimated moov box size accordingly. Change-Id: I731aca6c7833aa764ed7b905edb77721577471b3
* Merge "Instead of constantly polling the AudioPlayer to see if it reached ↵Andreas Huber2010-09-281-1/+5
|\ | | | | | | EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens." into gingerbread
| * Instead of constantly polling the AudioPlayer to see if it reached EOS or ↵Andreas Huber2010-09-281-1/+5
| | | | | | | | | | | | | | finished seeking, initiate the notification from the AudioPlayer when the event happens. Change-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d related-to-bug: 3036592
* | Merge "Vorbis files may have more samples encoded that should be used, i.e. ↵Andreas Huber2010-09-281-0/+2
|\ \ | |/ | | | | we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files." into gingerbread
| * Vorbis files may have more samples encoded that should be used, i.e. we have ↵Andreas Huber2010-09-281-0/+2
| | | | | | | | | | | | | | to trim samples at the end of the stream. This is crucial for proper looping of some audio files. related-to-bug: 3036592 Change-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802
* | Squashed commit of the following:Andreas Huber2010-09-271-0/+72
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 29a4d3effb05a2e074cb0693316ab1977baeb0b6 Author: Andreas Huber <andih@google.com> Date: Mon Sep 27 12:01:32 2010 -0700 Fully working implementation of MPEG2TSWriter (for AAC and AVC sources). Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84 commit f4dec4c3899f3be393508e180d6c07e249d3335e Author: Andreas Huber <andih@google.com> Date: Mon Sep 27 10:36:31 2010 -0700 More reliable identification of MPEG2 transport streams. Don't keep scanning forever in case the stream does not have both audio and video tracks. Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7 commit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2 Author: Andreas Huber <andih@google.com> Date: Mon Sep 27 08:23:39 2010 -0700 test code Change-Id: I16560a17661407d06497f99ff88230724bb898af commit 64d988b24f49f179a90fa677be11c823959e734b Author: Andreas Huber <andih@google.com> Date: Thu Sep 23 14:42:52 2010 -0700 First shot at supporting writing to an MPEG2 transport stream. Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74 Change-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc
* Remove stagefright foundation's incompatible logging interface and update ↵Andreas Huber2010-09-211-37/+12
| | | | | | callsites. Change-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c
* HW audio encoder expects timestamp via kKeyTime from each input bufferJames Dong2010-09-081-0/+1
| | | | | | - This fixes media server crashes on droid Change-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc
* Ogg files can be tagged to be automatically looping, this setting always ↵Andreas Huber2010-09-031-0/+2
| | | | | | | overrides the MediaPlayer's setLooping setting. Change-Id: Ifb564c6cdf6137eac14869f9ca7d471f05a5556a related-to-bug: 2974691
* Remove unused/debugging code from MP4 file writerJames Dong2010-09-032-0/+6
| | | | | | o also makes nal length in the recorded file modifiable at runtime Change-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf
* Better file size estimateJames Dong2010-09-021-0/+1
| | | | | | | | | When the recorded file becomes large, the metadata size can no longer be ignored. This makes it possible to save the recorded file when the storage becomes almost full at the end of the recording session. Change-Id: Ief038080f825c9946ce550949c03e914aec1e31a
* Calculate audio media drift time from AudioSourceJames Dong2010-09-013-1/+3
| | | | | | | | | | | | | | | | | | | The problem was that the time to receive an output buffer from an audio encoder is different because the encoder does not need to read from the source for all output buffers. This leads to large fluctuation in terms of wall clock duration between two neighboring audio sample outputs from the audio encoder. As a result, the media time for the video track after adjustment using the drifting changes wildly sometimes. This patch addresses this issue by only updating the media drift time when an audio source input buffer is read. the wall clock for the audio track is also calculated at the same time when the input audio buffer is read at AudioSource. bug - 2959800 Change-Id: I3174aa182f744784b540f0a7198524d4eee8bd7b
* Merge "ALoopers can now be named (useful to distinguish threads)." into ↵Andreas Huber2010-08-301-0/+6
|\ | | | | | | gingerbread
| * ALoopers can now be named (useful to distinguish threads).Andreas Huber2010-08-271-0/+6
| | | | | | | | Change-Id: Ieabaddb2e3a9e3a7a5bc36e55cd0721b60dbd50e
* | Workaround for a QCOM issue where the output buffer size advertised by the ↵James Dong2010-08-271-0/+1
| | | | | | | | | | | | | | | | | | | | AVC encoder is occasionally too small. bug - 2882917 Change-Id: Id59d8529084c5689a26f272e0cd3b1e955fd8a30
* | Suppress the video recording start signalJames Dong2010-08-261-1/+17
|/ | | | | | - bug 2950297 Change-Id: I0044d07178691feb904cf81e87c1b6d4b714dc1a
* Allow sniffers to return a packet of opaque data that the corresponding ↵Andreas Huber2010-08-251-2/+7
| | | | | | | extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now. Change-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a related-to-bug: 2948754
* Runtime dump support for MediaWriterJames Dong2010-08-232-0/+5
| | | | Change-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895
* Merge "Make MediaWriter stop and pause return errors if necessary" into ↵James Dong2010-08-193-7/+8
|\ | | | | | | gingerbread
| * Make MediaWriter stop and pause return errors if necessaryJames Dong2010-08-193-7/+8
| | | | | | | | | | | | | | | | | | | | | | o Make the API consistent with SF framework, which the MediaSource provides a return status for stop o Also, helps to convey errors that occurred right when a premature stop() is called, leading to a potentially mal-formed output file. Change-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef
* | In the absence of width/height information in the sdp, extract the ↵Andreas Huber2010-08-191-0/+53
|/ | | | | | dimensions from the avc codec specific data. Change-Id: I98c4194593c7e6e24f6fc339c862245111800293
* Use audio clock as the reference media clockJames Dong2010-08-132-2/+8
| | | | | | | | | | | | o Only do this for realtime applications o Adjust other track clock based on audio clock o Assume other track uses wall clock as the media clock o Use some heuristics to reduce the size of stts box by 2/3. - also o Remove one unused key from MetaData.h Change-Id: Ib9432842627b61795b533508158c25258a527332
* Handle large audio lostJames Dong2010-08-101-1/+2
| | | | Change-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c
* Support for extracting G.711 a-law and mu-law audio from WAV files and a ↵Andreas Huber2010-08-091-0/+2
| | | | | | | corresponding software decoder. Change-Id: I92685d09456c220b8c09842defb721bd55b0b9f6 related-to-bug: 2900021
* Use the target color format from the camera source if possibleJames Dong2010-08-051-0/+5
| | | | | | | | | | - If the target color format is unavailable, the default platform-dependent color format will be used. - Also add some logic to prevent looping forever if the omx component is buggy supporting color format enumeration. Change-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3
* Support for Gtalk video, includes AMR/H.263 assembler and packetization ↵Andreas Huber2010-08-041-0/+1
| | | | | | support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation. Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
* Merge "File writer has a designated writer thread now" into gingerbreadJames Dong2010-08-031-0/+41
|\
| * File writer has a designated writer thread nowJames Dong2010-08-021-0/+41
| | | | | | | | | | | | | | | | + This reduces the file I/O block time for audio/video track processing - Since the file writer is buffering some output samples, the memory usage would go up, depending on how many output samples are buffered. Change-Id: I780cc5b26f4b53a5efbd643fcf9505dfc19cd4cd
* | Add lost frame handling in AudioSourceJames Dong2010-07-301-3/+2
|/ | | | | | - Also collect stats on lost audio frames instead of time spent on reading Change-Id: I6380b143e4fbdcd894491aaae523331e90d0f04f
* Allows the authoring engine to skip frame.James Dong2010-07-222-0/+14
| | | | | | | | | | | This is 1st part of the work to allow audio and video resync if we found out that audio and video are out of sync during authoring - also fixed a problem in AACEncoder::read() where the buffer acquired from the buffer group does not release when error out at reading from source. Change-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118
* Various changes to improve rtsp networking, reduce packet loss and adapt to ↵Andreas Huber2010-07-221-1/+3
| | | | | | ALooper API changes. Change-Id: I110e19d5ce33e597add3ffbd3e3ff3815862396d
* Support finer seek control on MediaSources.Andreas Huber2010-07-213-2/+13
| | | | | | related-to-bug: 2858448 Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
* Merge "Progress status notification" into gingerbreadJames Dong2010-07-201-0/+1
|\
| * Progress status notificationJames Dong2010-07-201-0/+1
| | | | | | | | | | | | - Keep track of per-track progress Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
* | Support a single format change at the beginning of audio playback. This way ↵Andreas Huber2010-07-201-0/+4
|/ | | | | | | the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly. Change-Id: Icc790122744745e9a88099788d4818ca1e265a82 related-to-bug: 2826841
* Support user-supplied timescales for authoringJames Dong2010-07-142-0/+3
| | | | | | - also, change all the real time unit to microseconds in MPEG4Writer Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
* Allow application to set two more encoding paramters: video profile and levelJames Dong2010-07-072-0/+11
| | | | Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
* ALooperRoster no longer holds strong references to handlers and loopers.Andreas Huber2010-07-071-2/+2
| | | | Change-Id: I038d69b0a34eda1bfc5216d92c837a5ddf4fb802