summaryrefslogtreecommitdiffstats
path: root/media/webm
Commit message (Collapse)AuthorAgeFilesLines
* Add TextTrack.id and TextTrackList.getTrackById().self@brendanlong.com2013-11-266-19/+42
| | | | | | | | | | Contributed by self@brendanlong.com BUG=313601 Review URL: https://codereview.chromium.org/85693006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237438 0039d316-1c4b-4281-b951-d872f2087c98
* Render inband text tracks in the media pipelinematthewjheaney@chromium.org2013-11-227-75/+46
| | | | | | | | | | | | | This change modifies the FFmpeg demuxer to recognize text streams embedded in the source media (Webm). Text decoder and text renderer filters have been added to the pipeline, to process the text frames as they are pulled downstream. BUG=230708 Review URL: https://codereview.chromium.org/23702007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236660 0039d316-1c4b-4281-b951-d872f2087c98
* Roll libvpx 228256:232686johannkoenig@chromium.org2013-11-042-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Pull latest version from upstream. This had to be broken up across several changes. The first has the commit message: https://codereview.chromium.org/55493002/ Remove AVX code until we update the gyp files: https://codereview.chromium.org/48903015/ libmkv has moved to third_party/libmkv: https://codereview.chromium.org/54373014/ media/webm/chromeos/webm_encoder.cc and media/webm/chromeon/ebml_writer.cc pull from this location as well and needs to be updated. The last roll attempt failed because we introduced a new textrel. Fixed upstream and cherry-picked here: https://codereview.chromium.org/49023003 R=fischman@chromium.org, tomfinegan@chromium.org, fischman, tomfinegan Review URL: https://codereview.chromium.org/57063005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232721 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 232493 "Update libvpx"scherkus@chromium.org2013-11-022-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It introduced a new textrel: vp9_loop_filter_horizontal_edge_mmx > Update libvpx > > Pull latest version from upstream. This had to be broken up across several > changes. The first has the commit message: > https://codereview.chromium.org/55493002/ > > Remove AVX code until we update the gyp files: > https://codereview.chromium.org/48903015/ > > libmkv has moved to third_party/libmkv: > https://codereview.chromium.org/54373014/ > media/webm/chromeos/webm_encoder.cc and > media/webm/chromeon/ebml_writer.cc pull from this location > as well and needs to be updated. > > R=fischman@chromium.org, tomfinegan@chromium.org > > Review URL: https://codereview.chromium.org/54333009 TBR=johannkoenig@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232532 0039d316-1c4b-4281-b951-d872f2087c98
* Update libvpxjohannkoenig@chromium.org2013-11-012-3/+3
| | | | | | | | | | | | | | | | | | | | | Pull latest version from upstream. This had to be broken up across several changes. The first has the commit message: https://codereview.chromium.org/55493002/ Remove AVX code until we update the gyp files: https://codereview.chromium.org/48903015/ libmkv has moved to third_party/libmkv: https://codereview.chromium.org/54373014/ media/webm/chromeos/webm_encoder.cc and media/webm/chromeon/ebml_writer.cc pull from this location as well and needs to be updated. R=fischman@chromium.org, tomfinegan@chromium.org Review URL: https://codereview.chromium.org/54333009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232493 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up remaining unused globals (on mac).thakis@chromium.org2013-09-261-3/+0
| | | | | | | | | | | | Found by clang's new -Wunused-const-variable. BUG=290204 R=akalin@chromium.org, jamesr@chromium.org, koz@chromium.org, piman@chromium.org, sergeyu@chromium.org, thestig@chromium.org, vitalybuka@chromium.org TBR=cpu, dmichael, joi, xhwang Review URL: https://codereview.chromium.org/24579003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225281 0039d316-1c4b-4281-b951-d872f2087c98
* media source: Support WebM streams containing a FrameRate element.tomfinegan@chromium.org2013-09-112-0/+2
| | | | | | | | | | Add parsing support for the FrameRate element, and avoid the confusing situation where a WebM file plays back in a standard video element, but is unplayable when using MSE. Review URL: https://chromiumcodereview.appspot.com/23532051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222613 0039d316-1c4b-4281-b951-d872f2087c98
* media: Opus support for WebM in Media Sourcevigneshv@chromium.org2013-09-068-12/+63
| | | | | | | | | | | | | | | | | | Matroska's specification of Opus has been standardized here: http://wiki.xiph.org/MatroskaOpus. This CL adds support for the new Matroska elements related to Opus and enables Opus playback in WebM files through Media Source API. It also adds support for end trimming. This is a first CL in a sequence of CLs that will attempt to add various features towards fully functional working of Opus in WebM (both media source and video tag). BUG= Review URL: https://chromiumcodereview.appspot.com/23014009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221574 0039d316-1c4b-4281-b951-d872f2087c98
* Change NeedKeyCB to use std::vector.acolwell@chromium.org2013-08-261-5/+2
| | | | | | | | | | | Changes various NeedKeyCB instances to use std::vector<uint8> instead of a scoped_ptr<uint8[]> and a size parameter. TEST=All tests still pass. Review URL: https://chromiumcodereview.appspot.com/23072043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219575 0039d316-1c4b-4281-b951-d872f2087c98
* Fix undefined behavior due to negative bitshifting.dalecurtis@chromium.org2013-08-131-1/+3
| | | | | | | | | | | | | | | | | | | | Reported externally here: http://www.viva64.com/en/b/0205/ Relevant C++ spec: The value of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits are zero-filled. If E1 has an unsigned type, the value of the result is E1 × 2E^2, reduced modulo one more than the maximum value representable in the result type. Otherwise, if E1 has a signed type and non-negative value, and E1×2E^2 is representable in the result type, then that is the resulting value; otherwise, the behavior is undefined. BUG=271530 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/22950002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217307 0039d316-1c4b-4281-b951-d872f2087c98
* Drop redundant "TEST" prefix from test names in media code.xhwang@chromium.org2013-08-024-11/+11
| | | | | | | | | BUG=none TEST=No functionality change. Review URL: https://chromiumcodereview.appspot.com/21536004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215234 0039d316-1c4b-4281-b951-d872f2087c98
* Add Chromium-side support for SourceBuffer.appendWindowStart and ↵acolwell@chromium.org2013-07-262-16/+11
| | | | | | | | | | | SourceBuffer.appendWindowEnd. BUG=229408 TEST=ChunkDemuxerTest.AppendWindow Review URL: https://chromiumcodereview.appspot.com/20123002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213982 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: dmichaeltyoverby@chromium.org2013-07-182-15/+15
| | | | | | | | | | | | | | | Refactored DecoderBuffer to use unix_hacker_style naming. DecoderBuffer went from having pure virtual methods to having concrete implementations. However, the style of the method name remained in UpperCamelCase. This patch renames the methods to fit with the unix_hacker_style that is used for concrete implementations. BUG=251986 Review URL: https://chromiumcodereview.appspot.com/17408005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212375 0039d316-1c4b-4281-b951-d872f2087c98
* Place inband text track support behind a flag.acolwell@chromium.org2013-06-294-8/+47
| | | | | | | | | | | | | The inband text track support is not ready to be exposed by default. This patch adds a flag for enabling this feature and fixes the code to ignore text tracks when the flag is not set. BUG=230708 TEST=WebMTracksParserTest.TestIgnoringTextTracks Review URL: https://chromiumcodereview.appspot.com/18104002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209320 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite scoped_ptr<T>(NULL) to use the default ctor in media/.dcheng@chromium.org2013-06-121-2/+2
| | | | | | | | | | | This is the result of running the rewrite_scoped_ptr_ctor_null tool across all files built on Linux in the media/ directory. BUG=173286 Review URL: https://chromiumcodereview.appspot.com/16705009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205884 0039d316-1c4b-4281-b951-d872f2087c98
* Use a direct include of strings headers in ipc/, jingle/, media/.avi@chromium.org2013-06-111-1/+1
| | | | | | | | | | BUG=247723 TEST=none TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/16684003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205436 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove ScopedGenericObj usage in media/.thestig@chromium.org2013-05-281-7/+5
| | | | | | Review URL: https://chromiumcodereview.appspot.com/15659006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202497 0039d316-1c4b-4281-b951-d872f2087c98
* Media Source dispatches inband text tracksmatthewjheaney@chromium.org2013-05-237-11/+292
| | | | | | | | | | | | The Media Source (WebM) parser now detects the presence of inband text tracks. As frames of inband text (WebVTT cues) are found in the network stream, they are pushed up the media stack. BUG=230708 Review URL: https://chromiumcodereview.appspot.com/13419002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201716 0039d316-1c4b-4281-b951-d872f2087c98
* Adding VP8 Alpha support in Media Sourcevigneshv@chromium.org2013-05-226-33/+91
| | | | | | | | | | | | Adding support for playback of VP8 videos with Alpha Channel through the Media Source API. BUG=242357 TEST=VP8 Alpha Streams play properly via Media Source Review URL: https://chromiumcodereview.appspot.com/15342004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201496 0039d316-1c4b-4281-b951-d872f2087c98
* Parse WebM track name and languagematthewjheaney@chromium.org2013-05-1610-33/+463
| | | | | | | | | | | | | | | | | | | The Track header of a WebM file contains (among other items) a track name and track language. We do not currently use this information. However, it is needed to construct WebVTT inband text tracks. The WebM tracks parser has been modified to provide this information to its clients. (An earlier version of this commit failed to compile on some systems. The problem was that some integer constants needed to be qualified with a suffix to specify an extra precision integer type.) BUG=230708 Review URL: https://chromiumcodereview.appspot.com/15205002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200562 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 200308 "Parse WebM track name and language"rouslan@chromium.org2013-05-1510-464/+33
| | | | | | | | | | | | | | | | | | | | > Parse WebM track name and language > > The Track header of a WebM file contains (among other items) > a track name and track language. We do not currently use > this information. However, it is needed to contruct WebVTT > inband text tracks. The WebM tracks parser has been > modified to provide this information to its clients. > > BUG=230708 > > Review URL: https://chromiumcodereview.appspot.com/14977006 TBR=matthewjheaney@chromium.org Review URL: https://codereview.chromium.org/14959015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200323 0039d316-1c4b-4281-b951-d872f2087c98
* Parse WebM track name and languagematthewjheaney@chromium.org2013-05-1510-33/+464
| | | | | | | | | | | | | | The Track header of a WebM file contains (among other items) a track name and track language. We do not currently use this information. However, it is needed to contruct WebVTT inband text tracks. The WebM tracks parser has been modified to provide this information to its clients. BUG=230708 Review URL: https://chromiumcodereview.appspot.com/14977006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200308 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unnecessary ".get()" from scoped_ptrs<>.erg@chromium.org2013-04-233-3/+3
| | | | | | | | | | | In r174057, enne@ added support for implicit testing to scoped_ptr<>. Removes these in media/. BUG=232084 Review URL: https://chromiumcodereview.appspot.com/13870018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195875 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for zero-padded strings to WebMParser.acolwell@chromium.org2013-04-172-1/+28
| | | | | | | | | BUG=227416 TEST=WebMParserTest.ZeroPaddedStrings Review URL: https://codereview.chromium.org/14299005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194607 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite std::string("") to std::string(), Linux edition.dcheng@chromium.org2013-04-091-37/+56
| | | | | | | | | | | | | | | | | | | This patch was generated by running the empty_string clang tool across the Chromium Linux compilation database. Implicitly or explicitly constructing std::string() with a "" argument is inefficient as the caller needs to emit extra instructions to pass an argument, and the constructor needlessly copies a byte into internal storage. Rewriting these instances to simply call the default constructor appears to save ~14-18 kilobytes on an optimized release build. BUG=none Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=193020 Review URL: https://codereview.chromium.org/13145003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193040 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Rewrite std::string("") to std::string(), Linux edition."dcheng@chromium.org2013-04-091-56/+37
| | | | | | | | | | | | | | This reverts commit e59558b78e8c6a1b0bd916a724724b638c3c91b6. Revert "Fix build after r193020." This reverts commit 558a35897f6b3ffbcaefde927c1f150b815d140a. Revert "Really fix build after r193020." This reverts commit e3748a79b523a8d365d4a33ef986eebb4186fa78. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193030 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite std::string("") to std::string(), Linux edition.dcheng@chromium.org2013-04-091-37/+56
| | | | | | | | | | | | | | | | | This patch was generated by running the empty_string clang tool across the Chromium Linux compilation database. Implicitly or explicitly constructing std::string() with a "" argument is inefficient as the caller needs to emit extra instructions to pass an argument, and the constructor needlessly copies a byte into internal storage. Rewriting these instances to simply call the default constructor appears to save ~14-18 kilobytes on an optimized release build. BUG=none Review URL: https://codereview.chromium.org/13145003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193020 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite scoped_array<T> to scoped_ptr<T[]> in media/ and webkit/.dcheng@chromium.org2013-04-074-7/+7
| | | | | | | | | | This changelist was automatically generated using a clang tool. BUG=171111 Review URL: https://codereview.chromium.org/13752002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192779 0039d316-1c4b-4281-b951-d872f2087c98
* media: Support VP9 in media source.tomfinegan@chromium.org2013-04-061-0/+3
| | | | | | Review URL: https://chromiumcodereview.appspot.com/13652011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192672 0039d316-1c4b-4281-b951-d872f2087c98
* Libcxx cleanup.eugenis@chromium.org2013-03-221-27/+30
| | | | | | | | | | | | | Missing <vector> include in picture.h. map<> requires a complete type for the second template argument. BUG=178409 R=reveman@chromium.org,matthewjheaney@chromium.org,acolwell@chromium.org Review URL: https://codereview.chromium.org/12950003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189777 0039d316-1c4b-4281-b951-d872f2087c98
* Add WebMAudioClient & WebMVideoClient to remove FFmpeg dependencies in ↵acolwell@chromium.org2013-03-208-235/+479
| | | | | | | | | | | | WebMStreamParser. BUG=108756 TEST=All existing ChunkDemuxer & PipelineIntegrationTests still pass. Review URL: https://chromiumcodereview.appspot.com/12674009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189461 0039d316-1c4b-4281-b951-d872f2087c98
* Support for parsing encrypted WebM streams by src.fgalligan@chromium.org2013-03-145-50/+159
| | | | | | | | | | | | | | | | | | | - Note: Only looking for comments on direction. A lot of work still needs to be done before committing. - Added support to FFmpegDemuxer to decrypt encrypted WebM streams. - Added support to FFmpegDemuxer to handle the needKey and keyAdded messages. - Added support to WebMediaPlayerImpl to handle the needKey and keyAdded messages. BUG=123426 TEST=All media_unittests pass Review URL: https://chromiumcodereview.appspot.com/10829470 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188228 0039d316-1c4b-4281-b951-d872f2087c98
* Make AudioDecoderConfig copyable.xhwang@chromium.org2013-03-141-1/+1
| | | | | | | | | | | This is a follow-up CL of r187702. BUG=177543 TEST=All tests pass. Review URL: https://chromiumcodereview.appspot.com/12638030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188072 0039d316-1c4b-4281-b951-d872f2087c98
* Make VideoDecoderConfig copyable.xhwang@chromium.org2013-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | I guess the reasons we didn't make VideoDecoderConfig copyable is: 1) VideoDecoderConfig contains extra data, which needs deep copy. 2) We don't have a lot of use cases that needs to copy VideoDecoderConfig. If we do, we can use CopyFrom(). For (1), the extra data is typically small (< 100 bytes). Copying extra data should not have any performance impact. For (2), we do have legitimate cases where we need to copy VideoDecoderConfig implicitly: - Put VideoDecoderConfig in STL container, e.g. in SourceBufferStream. - Bind VideoDecoderCongfig in a callback, e.g. in DecryptingVideoDecoder. This CL uses std::vector<uint8> for the extra data and solves the deep copy issue. Then it makes VideoDecoderConfig copyable and makes several use cases of VideoDecoderConfig simpler. BUG=177543 TEST=All tests pass. Review URL: https://chromiumcodereview.appspot.com/12637017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187702 0039d316-1c4b-4281-b951-d872f2087c98
* Move file_path.h to base/files.brettw@chromium.org2013-02-241-2/+2
| | | | | | TBR=sky git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184344 0039d316-1c4b-4281-b951-d872f2087c98
* Replace FilePath with base::FilePath in some more top level directories.brettw@chromium.org2013-02-101-1/+1
| | | | | | Review URL: https://codereview.chromium.org/12217101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181640 0039d316-1c4b-4281-b951-d872f2087c98
* media source should ignore subtitles in webm filesmatthewjheaney@chromium.org2013-02-087-13/+350
| | | | | | | | | BUG=167152 Review URL: https://chromiumcodereview.appspot.com/11635058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181410 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath to base namespace.brettw@chromium.org2013-02-021-3/+6
| | | | | | | This updates headers that forward-declare it and a few random places to use the namespace explicitly. There us a using declaration in file_path.h that makes the rest compile, which we can do in future passes. Review URL: https://codereview.chromium.org/12163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180245 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate media::Buffer as a base class for media::DecoderBuffer and ↵scherkus@chromium.org2013-01-151-1/+1
| | | | | | | | | | | | | | | media::DataBuffer. It was never a good idea in the first place. Our usage is exclusively with DecoderBuffers or DataBuffers. There's never a case where we benefit from using Buffer as a base class aside from hiding GetWriteableData(), however it's not a compelling enough reason to keep Buffer around. BUG=169614 TBR=dmichael Review URL: https://codereview.chromium.org/11880008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176956 0039d316-1c4b-4281-b951-d872f2087c98
* Added debug logging for MSE config changes.ddorwin@chromium.org2013-01-081-0/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/11777018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175551 0039d316-1c4b-4281-b951-d872f2087c98
* Roll speex, flac, libvpx DEPS to get shim header changes.phajdan.jr@chromium.org2013-01-071-1/+2
| | | | | | | | | | | R=dalecurtis TBR=darin,garykac BUG=165264 Review URL: https://codereview.chromium.org/11791006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175348 0039d316-1c4b-4281-b951-d872f2087c98
* Roll FFMpeg for M26. Fix ffmpeg float audio decoding.dalecurtis@google.com2013-01-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | | FFmpeg now outputs float for some audio decoders. Unfortunately our pipeline doesn't support float between the FFmpegAudioDecoder and AudioRenderer at present. As such, we need to convert the data into an integer format first. As a byproduct of this, AMR support for ChromeOS is finally fixed and adding support for PCM float is trivial. In summary this patch adds: - A SampleFormat property to AudioDecoderConfig. - AVSampleFormat <-> SampleFormat converters in FFmpegCommon. - Fixes ChromeOS AMR playback. - Finally plumbs pcm_f32le support (enabled in FFmpeg long ago). - Add decoder support for float planar and float interleaved playback. BUG=109085, 158187, 167069 TEST=unittests, layout tests, and demos all pass under tooling without issue. Review URL: https://codereview.chromium.org/11280301 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175180 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete comments in WebMStreamParser.xhwang@chromium.org2013-01-031-2/+0
| | | | | | | | | TBR=ddorwin@chromium.org Review URL: https://chromiumcodereview.appspot.com/11747015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175054 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for ignoring subtitle and extra audio & video tracks.acolwell@chromium.org2012-12-266-7/+75
| | | | | | | | | | BUG=167152 TEST=WebMClusterParserTest.IgnoredTracks Review URL: https://chromiumcodereview.appspot.com/11642056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174625 0039d316-1c4b-4281-b951-d872f2087c98
* Update WebMClusterParser so it can detect keyframes in BlockGroupsacolwell@chromium.org2012-12-213-15/+58
| | | | | | | | | | BUG=166990 TEST=Covered by existing ChunkDemuxer tests. Review URL: https://chromiumcodereview.appspot.com/11618050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174415 0039d316-1c4b-4281-b951-d872f2087c98
* Log MediaSource parsing errors to the MediaLog so they can appear in ↵acolwell@chromium.org2012-12-0810-59/+85
| | | | | | | | | | | chrome:media-internals. BUG=164673 Review URL: https://chromiumcodereview.appspot.com/11471006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171936 0039d316-1c4b-4281-b951-d872f2087c98
* 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