summaryrefslogtreecommitdiffstats
path: root/media/libstagefright
Commit message (Collapse)AuthorAgeFilesLines
* Support some .avi files containing H.264 video, log warnings if audio/video ↵Andreas Huber2011-09-213-12/+94
| | | | | | | unsupported Change-Id: Ie7280f25f2bd19f32234c08673e64ceb65833677 related-to-bug: 5349382
* Remove an O(n^2) algorithm in MPEG4Extractor.cpp to speed up seeks in long ↵Andreas Huber2011-09-192-23/+84
| | | | | | | | | streams containing B-frames. Change-Id: Ie4dc734d2c2d5a5ce84674bb883f4b27e2278642 related-to-bug: 5336497
* In order to recover from video lagging behind audio, drop avc framesAndreas Huber2011-09-162-0/+23
| | | | | | that are not referenced by other frames before feeding them into the decoder. Change-Id: I822190af8f8329567bff8da1ea23136d0a765481
* Various improvements to nuplayer playbackAndreas Huber2011-09-165-7/+47
| | | | | | | | | | | | | | | | | | | | - Drastically cut down the number of times we supply the AudioSink with data by estimating the time until the sink would run out of data and then scheduling a refill in advance of that. - Use a dedicated looper for video decoders since they are currently taking too long to return from OMX_FillThisBuffer (bug 5325201) - Revise thread priorities for the OMX dispatcher and software codecs, instead of running them at ANDROID_PRIORITY_AUDIO, they now only run at ANDROID_PRIORITY_FOREGROUND - Since threads created by pthread_create inherit all of the parent threads attributes including thread priority, briefly reset thread priority to ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then restore it. Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
* Merge "Change an assert failure due to unsupported level by HW AVC decoder ↵James Dong2011-09-141-9/+10
|\ | | | | | | and report the error to applications"
| * Change an assert failure due to unsupported level by HW AVC decoder and ↵James Dong2011-09-131-9/+10
| | | | | | | | | | | | | | report the error to applications Change-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb related-to-bug: 5300618
* | Support .avi tracks that have a sample size of 1, i.e. samples != chunksAndreas Huber2011-09-132-14/+56
|/ | | | | | | | Assume for now that all chunks are the same size, i.e. have the same number of samples. Change-Id: Ib8a7dfeb16cc3e5be199ff9d98b68dd0b9c23eb8 related-to-bug: 5279872
* Merge "Turn an another assertion into a runtime error in ACodec's ↵Andreas Huber2011-09-121-22/+18
|\ | | | | | | implementation"
| * Turn an another assertion into a runtime error in ACodec's implementationAndreas Huber2011-09-121-22/+18
| | | | | | | | | | Change-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd related-to-bug: 5284760
* | Increase the avi extractor's confidence slighly over mp3'sAndreas Huber2011-09-121-1/+5
|/ | | | | | | | So that we don't accidentally identify a .avi file containing an mp3 track as an mp3 file. Change-Id: I73495b80cbb5bc1007bf810f2db453c9f175171b related-to-bug: 5288189
* Merge "Don't check mFilledBuffers whether it is empty or not when the port ↵James Dong2011-09-091-3/+8
|\ | | | | | | reconfiguration is not meant for buffer reallocation"
| * Don't check mFilledBuffers whether it is empty or not when the port ↵James Dong2011-09-091-3/+8
| | | | | | | | | | | | | | reconfiguration is not meant for buffer reallocation Change-Id: Iee9b18449bce9d7565ab5cc7f9e999484051196c related-to-bug: 5233843
* | Merge "Always set geometry in queuebuffer"Pannag Sanketi2011-09-081-4/+5
|\ \
| * | Always set geometry in queuebufferPannag Sanketi2011-09-081-4/+5
| | | | | | | | | | | | | | | | | | | | | The queuebuffer could return early due to timestamp issues. Need to set the geometry even in that case. Change-Id: I04d7cd1df3996d640c269285398c0042923ba920
* | | Audio player must not be used as a timesource before it's started.Andreas Huber2011-09-082-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise it'll trigger a division-by-zero exception since the audio sample rate is as yet unknown. Change-Id: I0793aa7c1c348ffa2611272bb646eff6ecf6ff53 related-to-bug: 5242451
* | | Merge "Fixing bug in SurfaceMediaSource_test"Pannag Sanketi2011-09-071-5/+19
|\ \ \ | |/ / |/| |
| * | Fixing bug in SurfaceMediaSource_testPannag Sanketi2011-09-021-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | The test was making EGL calls once disconnected. Instead of calling "disconnect" directly on the Surface, and EGL calls should be made to that effect. Change-Id: I21468ac8cbc2cb3145a49269e32a884736cd452e
* | | Apparently keyframe status in audio tracks of .webm/.mkv files is unreliableAndreas Huber2011-09-071-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | fortunately in all our supported audio encodings we can treat every frame as a keyframe. Change-Id: I32f21d0077bbae7ef9efe725dd351baf531179e2 related-to-bug: 5263837
* | | Merge "Stop metadata retriever from dereferencing a NULL pointer if"Andreas Huber2011-09-071-2/+14
|\ \ \ | |_|/ |/| |
| * | Stop metadata retriever from dereferencing a NULL pointer ifAndreas Huber2011-09-061-2/+14
| | | | | | | | | | | | | | | | | | | | | the media extractor failed to initialize (malformed or unsupported content) Change-Id: Icfad4e9eeb8d6713ad12eee7979ab30b696c06e0 related-to-bug: 5263840
* | | Revert "To make SniffMP3() more concrete so that we can remove false-positve ↵James Dong2011-09-061-16/+15
|/ / | | | | | | | | | | | | | | responses from MPEG-PS streams." This reverts commit 983ab88e117fcbda9370b8f4ba94271d37149672. related-to-bug: 5231309
* | Merge "Don't overwrite pending port setting change if there are more than ↵James Dong2011-09-061-2/+4
|\ \ | |/ |/| | | one port setting change event."
| * Don't overwrite pending port setting change if there are more than one port ↵James Dong2011-09-011-2/+4
| | | | | | | | | | | | | | setting change event. Change-Id: I3413f5235b191031252aa3785f5aaef00caef1ce related-to-bug: 5122512
* | Properly serialize access to FileSource::getSize by acquiring the mutexAndreas Huber2011-09-021-0/+2
|/ | | | | | | | Both ::getSize and ::read call into lseek64, if this happens simultaneously from multiple threads the results are undefined if not properly serialized. Change-Id: I737cafebd836f3d8eb702beac557b4731f69c6f6 related-to-bug: 5196490
* Merge "Guard the audio notifications with a separate lock to avoid deadlocks ↵Andreas Huber2011-09-012-18/+17
|\ | | | | | | during reset."
| * Guard the audio notifications with a separate lock to avoid deadlocks during ↵Andreas Huber2011-09-012-18/+17
| | | | | | | | | | | | | | reset. Change-Id: I9a97372e1f777d1cbd6774cac2ed34b4b8cd9392 related-to-bug: 5179827
* | Signal an error when encountering a malformed .ts stream.Andreas Huber2011-09-011-13/+33
|/ | | | | Change-Id: I3ab0215419214b652573945403eb45eb09d41aff related-to-bug: 5114811
* Merge "I have one HLS stream that switches stream PIDs from one bandwidth to ↵Andreas Huber2011-08-313-25/+84
|\ | | | | | | the next"
| * I have one HLS stream that switches stream PIDs from one bandwidth to the nextAndreas Huber2011-08-313-25/+84
| | | | | | | | | | | | | | this change intends to support its very limited case and signals an error in all other cases of unexpected PID changes that we cannot recover from. Change-Id: Icbfdf9fe7461969e2a8781ed416f54d891dd789a
* | Merge "Discontinuities are only signalled on streams that have been ↵Andreas Huber2011-08-311-32/+13
|\ \ | |/ | | | | identified, i.e."
| * Discontinuities are only signalled on streams that have been identified, i.e.Andreas Huber2011-08-311-32/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | those that have a queue. This ensures that the player doesn't observe discontinuities that don't match up across streams. Also, make sure output buffers arriving from the decoder to be rendered are sent back to the decoder if we started flushing. Finally, don't parse TS packets for streams we don't support. And don't allocate memory for them. Change-Id: I708e0de4cba8110a62e4c8ceb1e5702430d5d2bb
* | Merge "Update SurfaceMediaSource_test to not use pbuffer configs"Pannag Sanketi2011-08-311-30/+16
|\ \
| * | Update SurfaceMediaSource_test to not use pbuffer configsPannag Sanketi2011-08-301-30/+16
| | | | | | | | | | | | | | | | | | | | | | | | SurfaceMediaSource_test now does not use pbuffer configs to create a surface. Always uses a window config. Also, cleaned up the test a bit. Change-Id: Idda40dcb8474249eccaa8d2dad20ee840d2dd484
* | | Merge "Fix a crash where the EOS was signalled but some output buffer were ↵James Dong2011-08-311-1/+1
|\ \ \ | | | | | | | | | | | | still pending."
| * | | Fix a crash where the EOS was signalled but some output buffer were still ↵James Dong2011-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | pending. Change-Id: Ide111264501441b51bb10629ae2021accf9e1fb5 related-to-bug: 5234126
* | | | Merge "Fix SurfaceMediaSource timestamp handling."Eino-Ville Talvala2011-08-311-2/+26
|\ \ \ \
| * | | | Fix SurfaceMediaSource timestamp handling.Eino-Ville Talvala2011-08-301-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was not basing timestamps on startTimeUs. Now synchronizes properly with audio. Bug: 4510826 Change-Id: I613db0aa91e51fc75d120e65540e742d8ab2ae43
* | | | | Merge "Stop the AudioSource in reset() of AwesomePlayer if AudioSource is ↵Gloria Wang2011-08-311-1/+2
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | not NULL and AudioPlayer was not started. Fix for 5236419."
| * | | | Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULLGloria Wang2011-08-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and AudioPlayer was not started. Fix for 5236419. Change-Id: I5eadd069118c3533a19b5d6f6dca2ce16d8505fb
* | | | | Merge "ATSParser now supports a mode in which PTS is considered to be ↵Andreas Huber2011-08-312-10/+23
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | absolute time"
| * | | | ATSParser now supports a mode in which PTS is considered to be absolute timeAndreas Huber2011-08-302-10/+23
| | |/ / | |/| | | | | | | | | | | | | | | | | | i.e. PTS 0 <=> media time 0 Change-Id: If10a0f98c129b95e8430dc419664b1def92e547e
* | | | Merge "Bug 5156756 Fix AAC ADTS header size computation"Jean-Michel Trivi2011-08-301-9/+24
|\ \ \ \ | |/ / / |/| | |
| * | | Bug 5156756 Fix AAC ADTS header size computationJean-Michel Trivi2011-08-291-9/+24
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This previous frame size computation code had two incorrect assumptions: 1/ the ADTS frame length value already contains the header size 2/ the ADTS header is not of fixed size: it is 2 bytes bigger if it contains the CRC value. For 1/, the code worked because when the header size was added to the frame size, the + operator is of stronger precedence than the ? operator, so the size added was always 0 (instead of ADTS_HEADER_LENGTH. For 2/, the code worked as long as there was no CRC in the ADTS data. The fix consists in: - documenting what the frame length computation code returns - fixing the frame length computation - when computing the frame length, also returning the header size so the correct data can be sent to the decoder. Change-Id: I92df72a9e531f594f762e63d62f9dee7b0109904
* | | Return an error to the client instead of asserting if decoder instantiation ↵Andreas Huber2011-08-292-11/+22
|/ / | | | | | | | | | | | | | | | | fails after a surface change. Change-Id: Ic7758cbeb107032db68a1c3b8e2984710a12dd8b related-to-bug: 5212725
* | Merge "Signal errors to the client instead of asserting in ACodec."Andreas Huber2011-08-291-3/+23
|\ \
| * | Signal errors to the client instead of asserting in ACodec.Andreas Huber2011-08-261-3/+23
| | | | | | | | | | | | | | | | | | Also make sure NuPlayer can properly shutdown in certain edge cases. Change-Id: Iceb16d600d87ba66c802e60e95bf62f66487a453
* | | Merge "Default W, H allowed in SurfaceMediaSource dequeue"Pannag Sanketi2011-08-281-3/+5
|\ \ \
| * | | Default W, H allowed in SurfaceMediaSource dequeuePannag Sanketi2011-08-241-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The client does not have to send (w, h) = (0,0) in dequeuebuffer. It can set the same w, h as the default width and height. Change-Id: I8202f90261ccaebbd35ea28c153a7472f01912f1
* | | | Merge "Fixing small syntax error in MPEG4 logging"Pannag Sanketi2011-08-261-2/+2
|\ \ \ \
| * | | | Fixing small syntax error in MPEG4 loggingPannag Sanketi2011-08-261-2/+2
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Found that the build was breaking when the logging was enabled in MPEG4Writer. Fixed. Change-Id: I62c5e6d16b2ecf5644c8d46b9bbcca68a797b223