summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Revert 142862 - Change the way we are stopping audio stream on Mac once again.kkania@chromium.org2012-06-193-79/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r142235 was not enough, we were not touching audio buffers after stop, but OS could still touch audio queue. That causes problems if we were deleting audio stream immediately after stopping, e.g. if audio mixer tried to keep audio stream opened after last logical stream stopped and then stopped/closed it. I was able to reproduce the problem locally (for whatever reason this time it worked), and after the fix it (finally) went away -- browsert_tests PPAPITest.Audio_Creation successfully runs for 300 iterations. When I revert to previos way of signaling, problem resurfaces again. Fix is to use "property listener" to listen to "is running" audio queue property, and signal "stream stopped" event only after "is running" property changes to false. Functions that do are documented in the Apple core audio documentation but not used in samples, so they are hard to find if you don't know what to look for. Also re-enabling mixer change to keep physical stream opened for some time, That should complete browser-side mixer work and fix several related bugs. BUG=102395 BUG=114701 BUG=129190 BUG=131720 TEST=No observable diffs, but crashes and seek problems should go away. Review URL: https://chromiumcodereview.appspot.com/10560038 TBR=enal@chromium.org Review URL: https://chromiumcodereview.appspot.com/10583009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142886 0039d316-1c4b-4281-b951-d872f2087c98
* Change the way we are stopping audio stream on Mac once again.enal@chromium.org2012-06-183-56/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r142235 was not enough, we were not touching audio buffers after stop, but OS could still touch audio queue. That causes problems if we were deleting audio stream immediately after stopping, e.g. if audio mixer tried to keep audio stream opened after last logical stream stopped and then stopped/closed it. I was able to reproduce the problem locally (for whatever reason this time it worked), and after the fix it (finally) went away -- browsert_tests PPAPITest.Audio_Creation successfully runs for 300 iterations. When I revert to previos way of signaling, problem resurfaces again. Fix is to use "property listener" to listen to "is running" audio queue property, and signal "stream stopped" event only after "is running" property changes to false. Functions that do are documented in the Apple core audio documentation but not used in samples, so they are hard to find if you don't know what to look for. Also re-enabling mixer change to keep physical stream opened for some time, That should complete browser-side mixer work and fix several related bugs. BUG=102395 BUG=114701 BUG=129190 BUG=131720 TEST=No observable diffs, but crashes and seek problems should go away. Review URL: https://chromiumcodereview.appspot.com/10560038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142862 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize AesDecryptor to make it more spec compliant.xhwang@chromium.org2012-06-1620-121/+481
| | | | | | | | | | BUG=123260 TEST=media_unittests, encrypted-media layout tests. Review URL: https://chromiumcodereview.appspot.com/10534096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142553 0039d316-1c4b-4281-b951-d872f2087c98
* Allow any AVC level in Media Source ISO BMFF codec strings.strobe@google.com2012-06-152-6/+14
| | | | | | | | | | BUG=129072 TEST=ChunkDemuxerTest Review URL: https://chromiumcodereview.appspot.com/10544166 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142520 0039d316-1c4b-4281-b951-d872f2087c98
* Change the code to use 2 buffers on presumable good Windows boxes.enal@chromium.org2012-06-155-24/+54
| | | | | | | | | | | | | | | | | I.e. running non-Vista and having more than single core. Changed unit tests as well. (Earlier that CL was part of bugger one, changing the way audio mixer is working, but it causes problems on Mac). BUG=132009 TEST=Startup of 2nd stream should become somewhat faster. TEST=Run tests on Win7 and XP myself. Review URL: https://chromiumcodereview.appspot.com/10540034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142488 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 142430 - Do not stop audio physical stream immediately after logical ↵kkania@chromium.org2012-06-156-70/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | one had stopped. Wait some time. We are still stopping/closing the stream, as (1) it is better for battery life, and (2) some people can hear active device even when it is playing silence. That increased audio startup latency, especially on Windows, because we are using 3 buffers on Windows. To fix that I changed the code to use 2 buffers on presumable good Windows boxes -- i.e. running non-Vista and having more than single core. Changed unit tests as well. That CL finishes work on browser-side audio mixer. Not sure how important it is, though -- hopefully it will provide some time while implementing renderer-side mixer. That CL also fixes bug 131720. Looks that it was caused by timing change, and starting stream earlier causes less dropped frames. (I still cannot understand why on modern system we should have even single dropped frame, and why slight timing change caused us to drop frame, but that is different question...) BUG=114701 BUG=129190 BUG=131720 BUG=132009 TEST=Should not be noticeable difference in behavior. TEST=Startup of 2nd stream should become somewhat faster. TEST=Run tests on Win7 and XP myself. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=141770 Review URL: https://chromiumcodereview.appspot.com/10540034 TBR=enal@chromium.org Review URL: https://chromiumcodereview.appspot.com/10544183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142444 0039d316-1c4b-4281-b951-d872f2087c98
* Do not stop audio physical stream immediately after logical one had stopped.enal@chromium.org2012-06-156-58/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wait some time. We are still stopping/closing the stream, as (1) it is better for battery life, and (2) some people can hear active device even when it is playing silence. That increased audio startup latency, especially on Windows, because we are using 3 buffers on Windows. To fix that I changed the code to use 2 buffers on presumable good Windows boxes -- i.e. running non-Vista and having more than single core. Changed unit tests as well. That CL finishes work on browser-side audio mixer. Not sure how important it is, though -- hopefully it will provide some time while implementing renderer-side mixer. That CL also fixes bug 131720. Looks that it was caused by timing change, and starting stream earlier causes less dropped frames. (I still cannot understand why on modern system we should have even single dropped frame, and why slight timing change caused us to drop frame, but that is different question...) BUG=114701 BUG=129190 BUG=131720 BUG=132009 TEST=Should not be noticeable difference in behavior. TEST=Startup of 2nd stream should become somewhat faster. TEST=Run tests on Win7 and XP myself. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=141770 Review URL: https://chromiumcodereview.appspot.com/10540034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142430 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a bug related to Start/Stop/Start/Stop calling sequences in ↵henrika@chromium.org2012-06-152-10/+45
| | | | | | | | | | | | | WASAPIAudioOutputStream. BUG=132956 TEST=media_unittests --gtest_also_run_disabled_tests --gtest_filter=WinAudioOutputTest* It is also possible to play out the file in segments where each segment start with a call to Start() and stops with a call to Stop(). To do so, modify the kNumFileSegments (defaults to 1) to a suitable integer number (e.g 10). It will ensure that the 20s file is played out in 2 seconds long segments with a fresh Stop(), Start() calling sequence between each sequence. Review URL: https://chromiumcodereview.appspot.com/10556006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142425 0039d316-1c4b-4281-b951-d872f2087c98
* Implement ISO BMFF support in Media Source (try 2).strobe@google.com2012-06-1524-0/+3193
| | | | | | | | | | | Previous review: https://chromiumcodereview.appspot.com/10536014/ BUG=129072 TEST=MP4StreamParserTest Review URL: https://chromiumcodereview.appspot.com/10534172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142409 0039d316-1c4b-4281-b951-d872f2087c98
* Use NSS for symmetric key crypto operations on Windows and Mac.ddorwin@chromium.org2012-06-151-1/+1
| | | | | | | | | | | | | | | Encryptor, HMAC, and SymmetricKey now use NSS on all platforms except Android. This allows us to use them inside the sandbox, something that was not possible when using the platform APIs. On Windows, Native Client 64-bit builds still use the the platform APIs. BUG=127803,124741 TEST=Existing tests since there is no change in functionality. Review URL: https://chromiumcodereview.appspot.com/10543146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142356 0039d316-1c4b-4281-b951-d872f2087c98
* Roll FFmpeg to pick up security fixes.dalecurtis@google.com2012-06-151-2/+5
| | | | | | | | | | | | | | | | | | | Pulls in the following security fixes: 59c122b matroskadec: add assert on lack of overflow in pkt_size+offset 4b7c523 matroskadec: change size check in matroska_decode_buffer() to unsigned 08169fc matroskadec: move lace_size check up so it catches all code pathes 88a740a matroskadec: change assert to av_assert0() 71529bd Fix incorrect unsigned->signed conversion. Adds a new test for the issue. BUG=132779 TEST=ffmpeg_regression_tests, video test matrix. TBR=scherkus Review URL: https://chromiumcodereview.appspot.com/10546180 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142328 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 142268 - Implement ISO BMFF support in Media Source.gbillock@chromium.org2012-06-1524-3192/+0
| | | | | | | | | | | | | BUG=129072 TEST=MP4StreamParserTest Review URL: https://chromiumcodereview.appspot.com/10536014 TBR=strobe@google.com Review URL: https://chromiumcodereview.appspot.com/10533164 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142283 0039d316-1c4b-4281-b951-d872f2087c98
* Implement ISO BMFF support in Media Source.strobe@google.com2012-06-1424-0/+3192
| | | | | | | | | | BUG=129072 TEST=MP4StreamParserTest Review URL: https://chromiumcodereview.appspot.com/10536014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142268 0039d316-1c4b-4281-b951-d872f2087c98
* Change the way we are stopping audio stream on Mac.enal@chromium.org2012-06-144-46/+44
| | | | | | | | | | | | | | | We are seeing countless problems when restarting or closing audio stream, and suspect it is caused by wrong use of Mac OS X API. Do it exactly as done in Apple's Mac core audio sample -- Stop() does not stop the stream itelf, but instead waits for audio callback to stop and signal that stream is stopped. BUG=102395 TEST=No observable diffs, but crashes and seek problems should go away. Review URL: https://chromiumcodereview.appspot.com/10545160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142235 0039d316-1c4b-4281-b951-d872f2087c98
* Notify SourceBufferStream of each cluster's start time as it gets parsedvrk@google.com2012-06-149-35/+245
| | | | | | | | | | | | | Passes cluster start time information from WebMStreamParser to ChunkDemuxer to SourceBufferStream. SourceBufferStream can then use this information when fulfilling seeks. BUG=131438 TEST=media_unittests, go/vekbm Review URL: https://chromiumcodereview.appspot.com/10540122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142221 0039d316-1c4b-4281-b951-d872f2087c98
* Move forward declaration of DecoderBuffer into media namespace.xhwang@chromium.org2012-06-141-1/+2
| | | | | | | | | | BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10533140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142206 0039d316-1c4b-4281-b951-d872f2087c98
* Fix sign inversion of 24-bit wav files.rtoy@google.com2012-06-141-1/+1
| | | | | | | | | | | | | On a 32-bit machine (1L << 31) is negative. BUG=132320 TEST=Covered in webkit bug 88794 Review URL: https://chromiumcodereview.appspot.com/10533118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142180 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ant warning of 'includeantruntime was not set' in android buildshouqun.liu@intel.com2012-06-131-1/+1
| | | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10543107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142029 0039d316-1c4b-4281-b951-d872f2087c98
* Media: Don't use a scoped handle for a wait object.rvargas@chromium.org2012-06-132-19/+15
| | | | | | | | | BUG=132586 TEST=none Review URL: https://chromiumcodereview.appspot.com/10543149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142024 0039d316-1c4b-4281-b951-d872f2087c98
* Calculate the buffered ranges in ChunkDemuxer::GetBufferedRanges()annacc@chromium.org2012-06-135-6/+306
| | | | | | | | | | BUG=129852 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10539115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141859 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 141770 - Do not stop audio physical stream immediately after logical ↵cpu@chromium.org2012-06-138-83/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | one had stopped. Wait some time. We are still stopping/closing the stream, as (1) it is better for battery life, and (2) some people can hear active device even when it is playing silence. That increased audio startup latency, especially on Windows, because we are using 3 buffers on Windows. To fix that I changed the code to use 2 buffers on presumable good Windows boxes -- i.e. running non-Vista and having more than single core. Changed unit tests as well. That CL finishes work on browser-side audio mixer. Not sure how important it is, though -- hopefully it will provide some time while implementing renderer-side mixer. Also moved code for crash Mac OS X into audio mixer, because problem can manifest itself if Close() called immediately after Stop(). That CL also fixes bug 131720. Looks that it was caused by timing change, and starting stream earlier causes less dropped frames. (I still cannot understand why on modern system we should have even single dropped frame, and why slight timing change caused us to drop frame, but that is different question...) BUG=129190 BUG=131720 BUG=131720 BUG=102395 TEST=Should not be noticeable difference in behavior. Run tests on Win7 and XP myself. TEST=Mac crashes on seeks should go away, too. Review URL: https://chromiumcodereview.appspot.com/10540034 TBR=enal@chromium.org Review URL: https://chromiumcodereview.appspot.com/10532116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141820 0039d316-1c4b-4281-b951-d872f2087c98
* Do not stop audio physical stream immediately after logical one had stopped.enal@chromium.org2012-06-128-87/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wait some time. We are still stopping/closing the stream, as (1) it is better for battery life, and (2) some people can hear active device even when it is playing silence. That increased audio startup latency, especially on Windows, because we are using 3 buffers on Windows. To fix that I changed the code to use 2 buffers on presumable good Windows boxes -- i.e. running non-Vista and having more than single core. Changed unit tests as well. That CL finishes work on browser-side audio mixer. Not sure how important it is, though -- hopefully it will provide some time while implementing renderer-side mixer. Also moved code for crash Mac OS X into audio mixer, because problem can manifest itself if Close() called immediately after Stop(). That CL also fixes bug 131720. Looks that it was caused by timing change, and starting stream earlier causes less dropped frames. (I still cannot understand why on modern system we should have even single dropped frame, and why slight timing change caused us to drop frame, but that is different question...) BUG=129190 BUG=131720 BUG=131720 BUG=102395 TEST=Should not be noticeable difference in behavior. Run tests on Win7 and XP myself. TEST=Mac crashes on seeks should go away, too. Review URL: https://chromiumcodereview.appspot.com/10540034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141770 0039d316-1c4b-4281-b951-d872f2087c98
* Return the results of Append in ChunkDemuxer::On{Audio,Video}Buffers()annacc@chromium.org2012-06-121-8/+2
| | | | | | | | | | | | We weren't able to successfully return results until overlaps etc. were properly computed in SourceBufferStream::Append(). That's fixed now (http://crbug.com/125072), so let's start returning! BUG=132314 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10542128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141767 0039d316-1c4b-4281-b951-d872f2087c98
* Add MP4 DASH test fileacolwell@chromium.org2012-06-121-0/+0
| | | | | | | | | | TBR=acolwell@chromium.org BUG=129072 TEST=None Review URL: https://chromiumcodereview.appspot.com/10539117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141766 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure GpuVideoDecoder satisfies outstanding reads before firing callback ↵fischman@chromium.org2012-06-121-1/+1
| | | | | | | | | | | | | | | | indicating it is reset. Previously GVD would post the fake frame to VideoRendererBase, but fire the callback without waiting for VRB to process the frame. Now the callback is posted to the same loop so VRB is guaranteed to see the frame before VRB::OnDecoderFlushDone() DCHECKs that !pending_read_. TEST=closing a tab playing HW-accelerated video no longer DCHECKs in VRB::OnDecoderFlushDone. Review URL: https://chromiumcodereview.appspot.com/10536122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141746 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize member variables.jhawkins@chromium.org2012-06-121-1/+4
| | | | | | | | | | | | | CID_COUNT=4 CID=104190,104193,104197,104204 BUG=none TEST=none R=groby TBR=rdsmith,vrk,tommi Review URL: https://chromiumcodereview.appspot.com/10538083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141688 0039d316-1c4b-4281-b951-d872f2087c98
* Implement support for 2 source ids (1 for audio and 1 for video).annacc@chromium.org2012-06-124-72/+342
| | | | | | | | | | | | This patch allows data to be appended to 2 different sources (1 audio and 1 video). Also makes sure that appended data matches the mimetype provided in AddId(). BUG=122909 TEST=ChunkDemuxerTest.* Review URL: https://chromiumcodereview.appspot.com/10545066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141679 0039d316-1c4b-4281-b951-d872f2087c98
* CrasOutput: Handle Close() being called after a failed Open().dgreid@chromium.org2012-06-121-2/+8
| | | | | | | | | | | | | | | If Open() fails due to the pipe() or pthread_create() system calls failing, client_ will be non-null but will have been freed. To fix this, set client_ to NULL on failures in Open(), and check before using it in Close(). BUG=132040 TEST=Change the cras library to return errors from the client_connect() or client_run() functions, then watch as the errors cause a crash when you add an audio stream. Review URL: https://chromiumcodereview.appspot.com/10546090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141638 0039d316-1c4b-4281-b951-d872f2087c98
* Remove duplicate CPU detection code; use base::CPU instead.dalecurtis@chromium.org2012-06-129-194/+51
| | | | | | | | | | BUG=none TEST=media_unittests. Review URL: https://chromiumcodereview.appspot.com/10537082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141627 0039d316-1c4b-4281-b951-d872f2087c98
* Replace Pipeline::SetNetworkActivity() with BufferedDataSource -> ↵fischman@chromium.org2012-06-1213-62/+3
| | | | | | | | | | | | | WebMediaPlayerImpl callback. This removes a bunch of plumbing that's completely unnecessary. Concretely: Before: BufferedResourceLoader -> BufferedDataSource -> DemuxerHost -> DataSourceHost -> Pipeline -> WebMediaPlayerImpl After: BufferedResourceLoader -> BufferedDataSource -> WebMediaPlayerImpl Review URL: https://chromiumcodereview.appspot.com/10535101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141619 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using avcodec_decode_audio4, avcodec_alloc_context3.dalecurtis@chromium.org2012-06-117-86/+118
| | | | | | | | | | | | | | | | Allows us to remove another patch from FFmpeg relating to using deprecated features! We're now using the latest and greatest! FFmpeg side changes here, https://gerrit.chromium.org/gerrit/24823 BUG=112673 TEST=ffmpeg_regression_tests, webaudio tests. Review URL: https://chromiumcodereview.appspot.com/10540067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141524 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 141476 - Do not stop audio physical stream immediately after logical ↵sail@chromium.org2012-06-116-70/+58
| | | | | | | | | | | | | | | | | | | | | | | | one had stopped. Wait some time. We are still stopping/closing the stream, as (1) it is better for battery life, and (2) some people can hear active device even when it is playing silence. That increased audio startup latency, especially on Windows, because we are using 3 buffers on Windows. To fix that I changed the code to use 2 buffers on presumable good Windows boxes -- i.e. running non-Vista and having more than single core. Changed unit tests as well. BUG=129190 TEST=Should not be noticeable difference in behavior. Run tests on Win7 and XP myself. Review URL: https://chromiumcodereview.appspot.com/10540034 TBR=enal@chromium.org Review URL: https://chromiumcodereview.appspot.com/10535117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141505 0039d316-1c4b-4281-b951-d872f2087c98
* Do not stop audio physical stream immediately after logical one had stopped.enal@chromium.org2012-06-116-58/+70
| | | | | | | | | | | | | | | | | | | Wait some time. We are still stopping/closing the stream, as (1) it is better for battery life, and (2) some people can hear active device even when it is playing silence. That increased audio startup latency, especially on Windows, because we are using 3 buffers on Windows. To fix that I changed the code to use 2 buffers on presumable good Windows boxes -- i.e. running non-Vista and having more than single core. Changed unit tests as well. BUG=129190 TEST=Should not be noticeable difference in behavior. Run tests on Win7 and XP myself. Review URL: https://chromiumcodereview.appspot.com/10540034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141476 0039d316-1c4b-4281-b951-d872f2087c98
* Update ChunkDemuxer to allow midstream initialization segments that match ↵acolwell@chromium.org2012-06-113-33/+161
| | | | | | | | | | | | the first one. BUG=122913 TEST=ChunkDemuxerTest.TestMultipleHeaders Review URL: https://chromiumcodereview.appspot.com/10535058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141460 0039d316-1c4b-4281-b951-d872f2087c98
* Make the other Java modules debuggablehaitao.feng@intel.com2012-06-081-1/+1
| | | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10541068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141327 0039d316-1c4b-4281-b951-d872f2087c98
* open camera with O_RDWR.wjia@chromium.org2012-06-081-1/+2
| | | | | | | | | | This is somehow needed for Linux kernel 3.3 and above. If camera is opened with O_RDONLY, mmap will fail. However, since we are not going to modify device memory, it should be allowed to open camera with O_RDONLY. BUG=http://code.google.com/p/webrtc/issues/detail?id=512 Review URL: https://chromiumcodereview.appspot.com/10542080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141308 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gcc 4.7 building problems.pkasting@chromium.org2012-06-081-7/+12
| | | | | | | | | | This is being submitted on behalf of shanhan@google.com, original CL at https://chromiumcodereview.appspot.com/10537037/ . BUG=None TEST=Built successfully using GCC-4.7 under linux Review URL: https://chromiumcodereview.appspot.com/10543080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141286 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Fix pass by value error in source_buffer_stream::DeleteAfter() ↵kmadhusu@chromium.org2012-06-081-2/+2
| | | | | | | | | | | | | function. BUG=none TEST=none CID=104188 Review URL: https://chromiumcodereview.appspot.com/10546075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141268 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb texture target to VideoDecodeAccelerator::Clientsail@chromium.org2012-06-083-7/+12
| | | | | | | | | | | | | | | | Currently all VideoDecodeAccelerator::Clients use GL_TEXTURE_2D as their texture target. Unfortunately the Mac decoder only supports GL_TEXTURE_RECTANGLE_ARB texture targets. This CL allows decoders to choose which texture target they want. BUG=127414 TEST= Review URL: https://chromiumcodereview.appspot.com/10392141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141258 0039d316-1c4b-4281-b951-d872f2087c98
* Add webm_ebml_element test file.acolwell@chromium.org2012-06-081-0/+0
| | | | | | | | | | TBR=acolwell@chromium.org BUG=122913 TEST=None Review URL: https://chromiumcodereview.appspot.com/10536072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141218 0039d316-1c4b-4281-b951-d872f2087c98
* fix the shared buildtommi@chromium.org2012-06-071-2/+2
| | | | | | | | TBR=henrika Review URL: https://chromiumcodereview.appspot.com/10533044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140997 0039d316-1c4b-4281-b951-d872f2087c98
* Add support to be able to asynchronously read from a CancelableSyncSockettommi@chromium.org2012-06-075-8/+363
| | | | | | | | | | | | on a TYPE_IO message loop thread. This makes it easy to share a thread that uses a message loop (e.g. for IPC and other things) and not require a separate thread to read from the socket. TEST=Run media_unittests. (--gtest_filter=AsyncSocketIoHandlerTest.*) Review URL: https://chromiumcodereview.appspot.com/10540047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140994 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChunkDemuxer so it doesn't reset the StreamParser on seek.acolwell@chromium.org2012-06-073-8/+13
| | | | | | | | | | BUG=122906 TEST=ChunkDemuxerTest.TestSeekWhileParsingCluster,PipelineIntegrationTest.ChunkDemuxerAbortRead_AudioOnly, PipelineIntegrationTest.ChunkDemuxerAbortRead_VideoOnly Review URL: https://chromiumcodereview.appspot.com/10536037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140945 0039d316-1c4b-4281-b951-d872f2087c98
* Add new FFmpeg regression tests. Add flaky test wrapper.dalecurtis@google.com2012-06-073-42/+107
| | | | | | | | | | | | | | | Adds the files from the issue and introduces a new flaky test type which only ensures that the file loads and runs without crashing. Changes are in preparation for running ffmpeg_regression_tests on bots. BUG=42122 TEST=ffmpeg_regression_tests! Review URL: https://chromiumcodereview.appspot.com/10518006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140902 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for files that use AltRef frames.acolwell@chromium.org2012-06-064-16/+83
| | | | | | | | | | BUG=131265 TEST=ChunkDemuxerTest.TestWebMFile_AltRefFrames Review URL: https://chromiumcodereview.appspot.com/10542009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140883 0039d316-1c4b-4281-b951-d872f2087c98
* Add alt-ref test file.acolwell@chromium.org2012-06-061-0/+0
| | | | | | | | | TBR=acolwell@chromium.org BUG=131265 Review URL: https://chromiumcodereview.appspot.com/10532036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140826 0039d316-1c4b-4281-b951-d872f2087c98
* Implement start, end, and middle overlaps for SourceBufferStreamvrk@google.com2012-06-063-315/+971
| | | | | | | | | | | | Handles cases where the selected range is overlapped. Does not handle buffer sizes of differing durations. BUG=126560,125072 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10389185 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140797 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize so that ChunkDemuxerStreams create and own SourceBufferStreams.annacc@chromium.org2012-06-065-419/+159
| | | | | | | | | | | | | | | | This patch moves SourceBufferStream into ChunkDemuxerStream and removes SourceBuffer altogether. ChunkDemuxer now manages a StreamParser and passes data along to ChunkDemuxerStreams when new data is parsed. Includes fixes to bugs that broke LayoutTests in the original CL (earlier reverted): https://chromiumcodereview.appspot.com/10505009/ BUG=130876 TEST= unittest: ChunkDemuxerTest.* LayoutTest: http/tests/media/media-source/* Review URL: https://chromiumcodereview.appspot.com/10537018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140666 0039d316-1c4b-4281-b951-d872f2087c98
* Move AesDecryptor out of FFmpegVideoDecoder.xhwang@chromium.org2012-06-056-12/+27
| | | | | | | | | | BUG=130693 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10500003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140654 0039d316-1c4b-4281-b951-d872f2087c98
* AudioManager::Shutdown() can potentially happen before all the ALSA streams ↵xians@chromium.org2012-06-052-4/+10
| | | | | | | | | | | are deleted. And in AudioManager::Shutdown(), we invalidate the message loop by audio_thread_.swap(audio_thread), and a crash will happen when the alive ALSA streams try to access to the message loop via manager_->GetMessageLoop(). BUG=130730 TEST=using http://www.corp.google.com/~xians/webrtc_test_audio_tag.html to setup a loopback audio. Review URL: https://chromiumcodereview.appspot.com/10446118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140633 0039d316-1c4b-4281-b951-d872f2087c98