summaryrefslogtreecommitdiffstats
path: root/media/webm
Commit message (Collapse)AuthorAgeFilesLines
* Switch to AVIO instead of a custom FFmpeg URLProtocol handler.dalecurtis@chromium.org2012-11-011-29/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FFmpegGlue is a filthy den of sin: - Singleton. - Unchecked initialization. - Mixed signed, unsigned usage. - Requires custom FFmpeg patches. - Hacks IO through http://0xDEADBEEF Switching to AVIO will absolve FFmpegGlue of its sins and has the added bonus of allowing us to tweak the buffer sizes used for read requests over the wire. AVIO works through a special AVIOContext created through avio_alloc_context() which is attached to the AVFormatContext used for demuxing. The AVIO context is initialized with read and seek methods identical to the existing URLProtocol structures. During avformat_open_input() we tell FFmpeg to use our AVIO context by passing NULL in for the filename parameter. FFmpeg will now redirect all reads and seeks through our AVIO context. The new FFmpegGlue also handles all destruction cases which can occur after an OpenContext(), allowing us to unify the slightly disparate shutdown paths used by FFmpegDemuxer and AudioFileReader. BUG=118986, 146529 TEST=unit tests under tooling. layout tests. manual playback pass. Review URL: https://chromiumcodereview.appspot.com/10912080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165502 0039d316-1c4b-4281-b951-d872f2087c98
* Add "type" in GenerateKeyRequest() and OnNeedKey().xhwang@chromium.org2012-10-271-1/+4
| | | | | | | | | | | | | | The "type" information could help the CDM to parse the initialization data correctly. See for details: https://www.w3.org/Bugs/Public/show_bug.cgi?id=19096 TBR=viettrungluu@chromium.org BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/11313016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164522 0039d316-1c4b-4281-b951-d872f2087c98
* Change WebM parser to treat IVs from encrypted WebM as raw data.fgalligan@chromium.org2012-10-162-9/+19
| | | | | | | | | | | | The encrypted WebM spec RFC changed to treat IVs as raw data. BUG=155641 TEST=All media_unittests pass. TBR=sky Review URL: https://chromiumcodereview.appspot.com/11139008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162012 0039d316-1c4b-4281-b951-d872f2087c98
* Support encrypted audio stream in demuxer.xhwang@chromium.org2012-10-127-59/+88
| | | | | | | | | | BUG=123421 TEST=updated media_unittest Review URL: https://chromiumcodereview.appspot.com/11088047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161465 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: IWYU for base/time.h. Also fix misc lint errors.thestig@chromium.org2012-10-101-1/+0
| | | | | | | | TBR=ben,brettw,oshima,rdsmith Review URL: https://chromiumcodereview.appspot.com/11087021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160999 0039d316-1c4b-4281-b951-d872f2087c98
* Add is_encrypted() in VideoDecoderConfig.xhwang@chromium.org2012-09-181-10/+25
| | | | | | | | | | | This is needed so that decoders can check if the video stream is encrypted or not and decide if it can support decrypting and/or decodeing the stream. BUG=141784 TEST=media_unittest, encrypted media demo. Review URL: https://chromiumcodereview.appspot.com/10910293 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157324 0039d316-1c4b-4281-b951-d872f2087c98
* We are removing checksum/HMAC in WebM spec for encrypted content.fgalligan@chromium.org2012-09-182-17/+11
| | | | | | | | | | | | | | | | | | | | xhwang's CL http://codereview.chromium.org/10918276 has been merged into this one. 10918276 CL updates the CDM interface, ClearKeyCdm, CdmWrapper and PPAPI code to reflect this change. - Remove checksum from DecryptConfig. - Remove HMAC from AesDecryptor. - Update AesDecryptorTest as all decrypts will not fail but the data checks will. - Remove FakeCheckSum from ffmpeg_video_decoder_unittest. - Remove HMAC from WebMClusterParser. - Remove checksum from ppapi_plugin_instance. BUG=150014 TEST=All media_unittests pass. TBR=dmichael Review URL: https://chromiumcodereview.appspot.com/10917308 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157322 0039d316-1c4b-4281-b951-d872f2087c98
* Fix live bug & renable ChunkDemuxerTest.TestWebMFile_LiveAudioAndVideoacolwell@chromium.org2012-08-031-1/+1
| | | | | | | | | BUG=136438 Review URL: https://chromiumcodereview.appspot.com/10823156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149788 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for v0.3 of the encrypted WebM specification. (Revert Fix)fgalligan@chromium.org2012-08-022-28/+32
| | | | | | | | | | | | | | | | | | | | | | | | | - Fixed HmacCheckFailure from aes_decryptor_unittest.cc that was causing a failure on the ASAN bots. - Added code to handle the signal_byte contained within WebM encrypted Blocks. - Added a unittest to aes_decryptor to handle an encrypted WebM Block with an unencrypted frame. - Added two unittests to aes_decryptor to try an encrypted WebM frame as an unencrypted frame and an unencrypted WebM frame as an encrypted frame. Revert "Revert 149449 - Add support for v0.3 of the encrypted WebM specification." This reverts commit 672f667ed68e59ec0aaf5c40167e890673ef3f7c. BUG=139876 TEST=Run media_unittests --gtest_filter=AesDecryptor* and all tests must pass. media_unittests must pass on linux_asan and mac_asan. Review URL: https://chromiumcodereview.appspot.com/10824136 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149696 0039d316-1c4b-4281-b951-d872f2087c98
* Use std::string for decryption key ID in webm parser.xhwang@chromium.org2012-08-0210-59/+38
| | | | | | | | | | | TBR=ddorwin@chromium.org BUG=130689 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10826098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149556 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 149449 - Add support for v0.3 of the encrypted WebM specification.vandebo@chromium.org2012-08-012-33/+29
| | | | | | | | | | | | | | | | | | | | | Asan didn't like this: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASAN%20Tests%20%282%29/builds/414/steps/media_unittests/logs/stdio - Added code to handle the signal_byte contained within WebM encrypted Blocks. - Added a unittest to aes_decryptor to hanlde an encrypted WebM Block with an unencrypted frame. BUG=139876 TEST=Run media_unittests --gtest_filter=AesDecryptor* and all tests must pass. Review URL: https://chromiumcodereview.appspot.com/10823110 TBR=fgalligan@chromium.org Review URL: https://chromiumcodereview.appspot.com/10831115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149457 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for v0.3 of the encrypted WebM specification.fgalligan@chromium.org2012-08-012-29/+33
| | | | | | | | | | | | | | | | - Added code to handle the signal_byte contained within WebM encrypted Blocks. - Added a unittest to aes_decryptor to hanlde an encrypted WebM Block with an unencrypted frame. BUG=139876 TEST=Run media_unittests --gtest_filter=AesDecryptor* and all tests must pass. Review URL: https://chromiumcodereview.appspot.com/10823110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149449 0039d316-1c4b-4281-b951-d872f2087c98
* Remove a bunch of dead fields found by Scythe.fischman@chromium.org2012-07-314-12/+5
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10825108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149251 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome-side implementation of media source timestamp offsetvrk@google.com2012-07-274-4/+22
| | | | | | | | | | | | Adds functionality to signal an offset to be applied to the buffers in ChunkDemuxer. Is not triggerable from Chrome yet. BUG=139044 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10803019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148810 0039d316-1c4b-4281-b951-d872f2087c98
* Add config change handling to SourceBufferStream & ChunkDemuxeracolwell@chromium.org2012-07-262-4/+10
| | | | | | | | | | BUG=122913 TEST=None Review URL: https://chromiumcodereview.appspot.com/10696182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148563 0039d316-1c4b-4281-b951-d872f2087c98
* Add Common Encryption support to BMFF, including subsample decryption.strobe@google.com2012-07-261-4/+9
| | | | | | | | | | BUG=132351 TEST=AesDecryptorTest, plus manual playback in browser Review URL: https://chromiumcodereview.appspot.com/10651006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148453 0039d316-1c4b-4281-b951-d872f2087c98
* Add proper duration to WebmEncoder-created files.ivankr@chromium.org2012-07-252-2/+7
| | | | | | | | | | BUG=132423 TEST=Manual, encoded video can be looped Review URL: https://chromiumcodereview.appspot.com/10823006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148335 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 148024 - [cros] Implement WebM encoder/muxer for animated avatar capture.ivankr@chromium.org2012-07-245-0/+478
| | | | | | | | | | TBR=nkostylev BUG=132423 TEST=None Review URL: https://chromiumcodereview.appspot.com/10817022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148117 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 148024 - [cros] Implement WebM encoder/muxer for animated avatar capture.ivankr@chromium.org2012-07-245-465/+0
| | | | | | | | | | | | | BUG=132423 TEST=None Review URL: https://chromiumcodereview.appspot.com/10784037 TBR=ivankr@chromium.org Review URL: https://chromiumcodereview.appspot.com/10809068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148027 0039d316-1c4b-4281-b951-d872f2087c98
* [cros] Implement WebM encoder/muxer for animated avatar capture.ivankr@chromium.org2012-07-245-0/+465
| | | | | | | | | | BUG=132423 TEST=None Review URL: https://chromiumcodereview.appspot.com/10784037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148024 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for encrypted WebM files as defined in the RFC.fgalligan@chromium.org2012-07-208-4/+101
| | | | | | | | | | | | | | | | | | | The WebM parser now reads the HMAC and IV from every encrypted Block and stores that information in the DecryptorConfig object. Added two new elements ContentEncAESSettings and AESSettingsCipherMode used by encrypted WebM files. This is a new code review of https://chromiumcodereview.appspot.com/10535029/ patch set 17 after patch set 16 was reverted. BUG=119845 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10810026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147654 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 147169 - Add support for encrypted WebM files as defined in the RFC.jln@chromium.org2012-07-188-101/+4
| | | | | | | | | | | | | | | | | The WebM parser now reads the HMAC and IV from every encrypted Block and stores that information in the DecryptorConfig object. Added two new elements ContentEncAESSettings and AESSettingsCipherMode used by encrypted WebM files. BUG=119845 TEST=media_unittests --gtest_filter=HmacAesDecryptorTest Review URL: https://chromiumcodereview.appspot.com/10535029 TBR=fgalligan@chromium.org Review URL: https://chromiumcodereview.appspot.com/10807003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147172 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for encrypted WebM files as defined in the RFC.fgalligan@chromium.org2012-07-188-4/+101
| | | | | | | | | | | | | | The WebM parser now reads the HMAC and IV from every encrypted Block and stores that information in the DecryptorConfig object. Added two new elements ContentEncAESSettings and AESSettingsCipherMode used by encrypted WebM files. BUG=119845 TEST=media_unittests --gtest_filter=HmacAesDecryptorTest Review URL: https://chromiumcodereview.appspot.com/10535029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147169 0039d316-1c4b-4281-b951-d872f2087c98
* Remove buffer duration calculation from WebMClusterParser and update ↵vrk@chromium.org2012-07-102-86/+8
| | | | | | | | | | | | | | | SourceBufferStream accordingly This removes the work to calculate buffers' durations in WebMClusterParser and modifies SourceBufferStream to no longer need duration information to work. This allows us to fix several bugs. BUG=131695,136418 TEST=media_unittests, go/oiedsb no longer needs Abort()s to work Review URL: https://chromiumcodereview.appspot.com/10692053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145839 0039d316-1c4b-4281-b951-d872f2087c98
* Add support to WebMClusterParser to accept clusters without blocksvrk@chromium.org2012-06-293-22/+18
| | | | | | | | | | BUG=NONE TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10673012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145030 0039d316-1c4b-4281-b951-d872f2087c98
* RefCounted types should not have public destructors, delegate cleanuprsleevi@chromium.org2012-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | For Delegate/Observer-type classes that specify an interface but do not have any particular lifetime requirements, make their destructors protected. This is to allow their interfaces to be implemented safely by RefCounted types. With public destructors, it's possible to do "scoped_ptr<Delegate> foo", and then assign a RefCountedDelegateImpl, which would lead to a double free. As none of these Delegates actually need public destructors (ownership of the Delegate* is not transferred during a function call / class constructor), mark the destructors protected so that it becomes a compile warning to try to delete them via the Delegate*. BUG=123295 TEST=it compiles Review URL: https://chromiumcodereview.appspot.com/10383262 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144086 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize AesDecryptor to make it more spec compliant.xhwang@chromium.org2012-06-162-6/+6
| | | | | | | | | | 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
* Notify SourceBufferStream of each cluster's start time as it gets parsedvrk@google.com2012-06-142-3/+36
| | | | | | | | | | | | | 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
* Update ChunkDemuxer to allow midstream initialization segments that match ↵acolwell@chromium.org2012-06-111-4/+19
| | | | | | | | | | | | 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
* Add support for files that use AltRef frames.acolwell@chromium.org2012-06-062-11/+58
| | | | | | | | | | 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
* Remove default duration logic from WebM parsing code.acolwell@chromium.org2012-05-306-60/+8
| | | | | | | | | | BUG=130313 TEST=WebMClusterParserTest* Review URL: https://chromiumcodereview.appspot.com/10440093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139615 0039d316-1c4b-4281-b951-d872f2087c98
* This patch integrates SourceBufferStreams into SourceBuffer, removes all ↵annacc@chromium.org2012-05-293-8/+7
| | | | | | | | | | | | | | | | | buffering functionality from ChunkDemuxerStream so that it now refers to SourceBufferStream (through ChunkDemuxer/SourceBuffer) for buffer data. A few notes about this patch: * We are still assuming only 1 source ID (and 1 SourceBuffer) * SourceBuffer still has only 1 audio and 1 video streams * ChunkDemuxerStream now has a handle to its ChunkDemuxer so that it can ask for data from ChunkDemuxer's SourceBuffer. BUG=125208 TEST=source_buffer_unittest.cc (coming soon) Review URL: https://chromiumcodereview.appspot.com/10388099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139403 0039d316-1c4b-4281-b951-d872f2087c98
* Update WebMClusterParser to compute durations for all StreamParserBuffers.acolwell@chromium.org2012-05-184-46/+107
| | | | | | | | | | BUG=127916 TEST=WebMClusterParserTest.* Review URL: https://chromiumcodereview.appspot.com/10382200 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137826 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for BlockGroup elements with BlockDuration.acolwell@chromium.org2012-05-168-148/+452
| | | | | | | | | | BUG=127915 TEST=WebMClusterParserTest.ParseBlockGroup & WebMClusterParserTest.ParseSimpleBlockAndBlockGroupMixture. Review URL: https://chromiumcodereview.appspot.com/10391091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137311 0039d316-1c4b-4281-b951-d872f2087c98
* Add StreamParserBuffer to ChunkDemuxervrk@google.com2012-05-022-3/+7
| | | | | | | | | | | This will allow SourceBufferStreams to identify keyframes. BUG=125680 TEST=NONE Review URL: https://chromiumcodereview.appspot.com/10269022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134978 0039d316-1c4b-4281-b951-d872f2087c98
* Fire needkey event when encrypted media is encounted.xhwang@chromium.org2012-04-262-2/+16
| | | | | | | | | | BUG=119843 TEST=Modified media_unittests passes. Also the revised demo page works. Review URL: http://codereview.chromium.org/10223010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134068 0039d316-1c4b-4281-b951-d872f2087c98
* Replace StreamParserHost interface with callbacks.acolwell@chromium.org2012-04-262-16/+21
| | | | | | | | | | BUG=122909 TEST=Existing ChunkDemuxer tests cover this change. Review URL: http://codereview.chromium.org/10134066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134020 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring StreamParser & StreamParserHost interfaces.acolwell@chromium.org2012-04-242-22/+55
| | | | | | | | | | | | | | | | | - Moving ByteQueue from ChunkDemuxer into WebMStreamParser to simplify handling multiple StreamParsers. - Replacing OnAudioConfig & OnVideoConfig with a single OnNewConfigs method to make it easier to verify that initialization segments all contain the same number and type of streams. BUG=122909 TEST=Existing ChunkDemuxer tests. Review URL: http://codereview.chromium.org/10205004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133725 0039d316-1c4b-4281-b951-d872f2087c98
* Add AES decryptor and tests.xhwang@chromium.org2012-03-085-19/+55
| | | | | | | | | | | For now we support decryption in video only. The first encryption key ID in ContentEncodings element will be used as the decryption key ID. Also we assume decryption key is the same as key ID. BUG=117060 TEST=test page with encrypted content plays; added media_unittest Review URL: http://codereview.chromium.org/9298021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125560 0039d316-1c4b-4281-b951-d872f2087c98
* WebM parser bug fixes for live streams.acolwell@chromium.org2012-03-065-18/+133
| | | | | | | | | | | | | | - Update ChunkDemuxer so kInfiniteDuration streams are not seekable. - Add support for Segment & Cluster elements of unknown size to WebMListParser. - Update WebMStreamParser to treat content without a Duration header as having kInfiniteDuration. BUG=116824 TEST=ChunkDemuxerTest.TestWebMFile_LiveAudioAndVideo, WebMParserTest.ReservedIds, WebMParserTest.ReservedSizes Review URL: http://codereview.chromium.org/9600028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125197 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leak in WebMContentEncodingsClient.xhwang@chromium.org2012-03-057-76/+152
| | | | | | | | | | | | | | | - Make ContentEncoding a class instead of a struct. - Remove ref count from ContentEncoding. - Revert r123446: "Suppress leak in WebMListParser" - Revert r123451: "Update suppression for 115606" - Revert r123499: "Suppress WebMContentEncodingsClient::OnListStart leak for drmemory." BUG=115606 TEST=media_unittest with HeapCheck Review URL: http://codereview.chromium.org/9474022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125024 0039d316-1c4b-4281-b951-d872f2087c98
* Second attempt to land ffmpeg roll.dalecurtis@google.com2012-03-011-3/+3
| | | | | | | | | | | | | | | | | Attempt 2 at landing http://codereview.chromium.org/9317096/ Same as before except for fixes in checkperms/ However, fixes have landed elsewhere for: - mp3 decode issue. - FrameRateNoVsyncCanvasInternalTest.fishbowl/0 BUG=110776 TEST=unittests, layouttests, trybots, perf tests... Review URL: https://chromiumcodereview.appspot.com/9447029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124501 0039d316-1c4b-4281-b951-d872f2087c98
* Add content encoding support to WebM demuxer.xhwang@chromium.org2012-02-248-1/+588
| | | | | | | | | | BUG=none TEST=passed media_unittests Review URL: http://codereview.chromium.org/9084002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123422 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 123123 (probably caused a big perf regression -- http://crbug.com/115479,thakis@chromium.org2012-02-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and possibly made frame rate tests fail: http://crbug.com/115477. Will revert the revert if it doesn't help.) - Fix media code to work with new ffmpeg. Once ffmpeg git, svn are updated to new ffmpeg, will update DEPS in this CL. Which when committed, should seal the deal for the ffmpeg roll. API Changes: avutil: SampleFormat->AVSampleFormat avutil: av_get_bits_per_sample_fmt -> av_get_bytes_per_sample avcodec: avcodec_open -> avcodec_open2(..., NULL) avcodec: avcodec_decode_video2(... AVPacket ...) -> const AVPacket. avformat: av_open_input_file -> avformat_open_input avformat: av_register_protocol2 -> ffurl_register_protocol avformat: av_close_input_file -> avformat_close_input(&...) avformat: av_find_stream_info -> avformat_find_stream_info(..., NULL) URLContext now has a url_open2 method as well, for now I've set this to NULL. Also fixes: - ffmpeg_unittests change threading to mirror ffmpeg_video_decoder. There's an issue where threading causes the last frames of a no-audio video to be clipped. It existed before this ffmpeg roll, but because threading was disabled by default in ffmpeg, we never noticed it. - ffmpeg_demuxer_tests: GetBitrate_UnsetInContainer_NoFileSize now passes. - New ffmpeg_unittests passes: sync0_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync0.ogv" sync1_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync1.ogv" sync2_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync2.ogv" FFmpeg fixups here, https://chromiumcodereview.appspot.com/9325049/ New git repo here: http://git.chromium.org/gitweb/?p=chromium/third_party/ffmpeg.git;a=summary Merge+Patches diff: https://chromiumcodereview.appspot.com/9317107 BUG=110776 TEST=unittests, layouttests, etc. Trybots. Review URL: https://chromiumcodereview.appspot.com/9317096 TBR=dalecurtis@google.com Review URL: https://chromiumcodereview.appspot.com/9455018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123249 0039d316-1c4b-4281-b951-d872f2087c98
* Fix media code to work with new ffmpeg.dalecurtis@google.com2012-02-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once ffmpeg git, svn are updated to new ffmpeg, will update DEPS in this CL. Which when committed, should seal the deal for the ffmpeg roll. API Changes: avutil: SampleFormat->AVSampleFormat avutil: av_get_bits_per_sample_fmt -> av_get_bytes_per_sample avcodec: avcodec_open -> avcodec_open2(..., NULL) avcodec: avcodec_decode_video2(... AVPacket ...) -> const AVPacket. avformat: av_open_input_file -> avformat_open_input avformat: av_register_protocol2 -> ffurl_register_protocol avformat: av_close_input_file -> avformat_close_input(&...) avformat: av_find_stream_info -> avformat_find_stream_info(..., NULL) URLContext now has a url_open2 method as well, for now I've set this to NULL. Also fixes: - ffmpeg_unittests change threading to mirror ffmpeg_video_decoder. There's an issue where threading causes the last frames of a no-audio video to be clipped. It existed before this ffmpeg roll, but because threading was disabled by default in ffmpeg, we never noticed it. - ffmpeg_demuxer_tests: GetBitrate_UnsetInContainer_NoFileSize now passes. - New ffmpeg_unittests passes: sync0_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync0.ogv" sync1_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync1.ogv" sync2_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync2.ogv" FFmpeg fixups here, https://chromiumcodereview.appspot.com/9325049/ New git repo here: http://git.chromium.org/gitweb/?p=chromium/third_party/ffmpeg.git;a=summary Merge+Patches diff: https://chromiumcodereview.appspot.com/9317107 BUG=110776 TEST=unittests, layouttests, etc. Trybots. Review URL: https://chromiumcodereview.appspot.com/9317096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123123 0039d316-1c4b-4281-b951-d872f2087c98
* Add some ASSERT_XXX calls to early terminate tests.acolwell@chromium.org2012-02-081-2/+2
| | | | | | | | | | BUG= TEST=ChunkDemuxerTest, WebMParserTest Review URL: http://codereview.chromium.org/9350027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120873 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChunkDemuxer seek deadlockacolwell@chromium.org2012-01-311-2/+6
| | | | | | | | | BUG=109879 TEST=PipelineIntegrationTest.ChunkDemuxerAbortRead_*,FFmpegAudioDecoderTest.AbortRead, AudioRendererBaseTest.AbortPendingRead_* Review URL: https://chromiumcodereview.appspot.com/9295020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119851 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChunkDemuxer crash & parse errors on audio-only or video-only content.acolwell@chromium.org2012-01-271-5/+7
| | | | | | | | | BUG=111128 TEST=ChunkDemuxerTest.TestParseErrorDuringInit, ChunkDemuxerTest.TestAudioOnlyWebMFile, ChunkDemuxerTest.TestVideoOnlyWebMFile Review URL: https://chromiumcodereview.appspot.com/9271042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119461 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ContentEncodings element info.acolwell@chromium.org2012-01-201-5/+5
| | | | | | | | | | | | | | | The ContentEncoding's element info was accidentally added to the TrackOperations element instead of TrackEntry. These changes fix that mistake. TBR=scherkus@chromium.org BUG=110531 TEST=None Review URL: http://codereview.chromium.org/9270013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118479 0039d316-1c4b-4281-b951-d872f2087c98
* Add matroska element data to make WebM parser more accepting.acolwell@chromium.org2012-01-195-43/+443
| | | | | | | | | | BUG=110531 TEST=ChunkDemuxerTest & WebMParserTest Review URL: http://codereview.chromium.org/9243029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118221 0039d316-1c4b-4281-b951-d872f2087c98