| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
This could happen if the data is corrupted, e.g. invalid subsample data.
BUG=238351
TEST=none
Review URL: https://chromiumcodereview.appspot.com/21802003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215663 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
TESTS=All existing tests still pass.
Review URL: https://chromiumcodereview.appspot.com/18066009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209902 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=254986
TEST=none
TBR=ben@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18052007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209109 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=251828
TEST=MP4StreamParserTest.TestNoMoovAfterFlush
Review URL: https://chromiumcodereview.appspot.com/17320007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207393 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
For AAC/ADTS, MediaCodec needs csd in order to work properly.
Passing the csd data from the stream parser using the extra_data field.
BUG=233420
Review URL: https://chromiumcodereview.appspot.com/16114009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203330 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=compiles
R=ddorwin@chromium.org
Review URL: https://codereview.chromium.org/14608003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197982 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=215773
Review URL: https://chromiumcodereview.appspot.com/14641006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197602 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
The 'bloc' box can appear in encrypted files and was accidentally
left out of the initial implementation. The box can be safely ignored.
Review URL: https://chromiumcodereview.appspot.com/13945010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193228 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
BUG=226642
TEST=AACTest_TestImplicitSBR_ChannelConfig0,AACTest_TestImplicitSBR_ChannelConfig1
Review URL: https://chromiumcodereview.appspot.com/13648007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192498 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=224306
Review URL: https://chromiumcodereview.appspot.com/12907022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191111 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=168891
TEST=MP4StreamParserTest.TestMPEG2_AAC_LC
Review URL: https://chromiumcodereview.appspot.com/11819013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177246 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/11830060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176250 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
encrypted ISO CENC stream.
BUG=168852
TEST=URL in bug; unit tests in a forthcoming CL
Review URL: https://chromiumcodereview.appspot.com/11818037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176013 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=None
Review URL: https://chromiumcodereview.appspot.com/11778004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175237 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A typo caused a 'needkey' event to be fired on appending any new media segment
if the initialization segment contained 'pssh' atoms for BMFF. This is only one
of a few ways in which we're not yet to spec (not to mention that the spec
itself is still being worked on).
BUG=142467
TEST=Manual
Review URL: https://chromiumcodereview.appspot.com/11365002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165845 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also moves kChannelOrderings extern into a function for export compatibility
with MSVC++ and the shared_memory_support target.
BUG=none
TEST=compiles.
Review URL: https://codereview.chromium.org/11198018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162502 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RValue&.
For move semantics, we need to create a private "RValue" type that is used to
create move constructors and move operators. Previously, we emulated Boost's
idea of making the RValue type a subclass of the move-only type that doesn't add
any new member fields. We then just reinterpret_cast "this" into a RValue&
depending on the fact that RValue is just a type pun for the move-only type.
This ends up being undefined behavior though (C++98 5.2.10.7).
This change makes use a concrete RValue class that contains a pointer to the
move-only type. With -O2 on clang version 3.2 (trunk 163674), this yields
identical assembly code to the previous implementation. With -O0, we generate
2 more instructions to allocate and initialize the temporary RValue struct's
object field when calling Pass().
This should be acceptable. The snowman says so ☃.
BUG=155436
Review URL: https://chromiumcodereview.appspot.com/11078014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161945 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change causes needkey events to be fired when ever a 'moov' or 'moof' box is encountered which contains PSSH boxes. The value of initData is the concatenation of all PSSH boxes in that top-level element.
BUG=132351
TEST=Manual verification using nonredistributable sample media
Review URL: https://chromiumcodereview.appspot.com/10837116
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158176 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ScanChildren() will reorder boxes based on their box type. The
SampleDescription box is the only supported box which is agnostic about
the box type of its children, and it is sensitive to the child order.
This patch modifies ReadAllChildren() to read children in order without
first invoking ScanChildren().
R=acolwell
BUG=
TEST=BoxReaderTest.ReadAllChildrenTest
Review URL: https://chromiumcodereview.appspot.com/10938034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158046 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AAC audio is sent to the Source Buffer in ADTS format, which requires
adding a header to each media sample. Encrypted subsample information
was not being adjusted to compensate for the extra clear bytes.
TEST=Manual, pending audio decryption support in decoder
BUG=132351
Review URL: https://chromiumcodereview.appspot.com/10886022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153854 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Also fixed a minor config change related bug in SourceBufferStream.
BUG=122913
TEST=PipelineIntegrationTest.MediaSource_MP4ConfigChange, SourceBufferStreamTest.ConfigChange_Basic, PipelineIntegrationTest.MediaSource_Seek
Review URL: https://chromiumcodereview.appspot.com/10828425
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152666 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FFmpegVideoDecoder.
Also fixed a minor config change related bug in SourceBufferStream.
BUG=122913
TEST=PipelineIntegrationTest.MediaSource_MP4ConfigChange, SourceBufferStreamTest.ConfigChange_Basic, PipelineIntegrationTest.MediaSource_Seek
Review URL: https://chromiumcodereview.appspot.com/10836304
TBR=acolwell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10866002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152629 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Also fixed a minor config change related bug in SourceBufferStream.
BUG=122913
TEST=PipelineIntegrationTest.MediaSource_MP4ConfigChange, SourceBufferStreamTest.ConfigChange_Basic, PipelineIntegrationTest.MediaSource_Seek
Review URL: https://chromiumcodereview.appspot.com/10836304
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152622 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=135665
TEST=TrackRunIteratorTest.ReorderingTest
Review URL: https://chromiumcodereview.appspot.com/10832176
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150478 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A common error when using BMFF with Media Source is to begin appending at an
incorrect offset, such that the parser sees an extremely large value for the
box size and consequently waits forever for input without failing. This change
adds a whitelist of permitted top-level boxes, which allows these situations
to be detected as soon as the header is read.
BUG=
TEST=BoxReaderTest.WrongFourCCTest
Review URL: https://chromiumcodereview.appspot.com/10823139
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149735 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MP4StreamParser::Flush() (called eventually by sourceAbort()) did not reset the
parser state, and so would only work if the call happened to come when the
parser was already in a particular state (which happened to always be true for
the browser test harness it was originally tested with).
Additionally, the format-specific buffer conversion methods did not cause
an error to be propagated to the caller on failure, resulting in unexpected
success for the added test.
BUG=
TEST=MP4StreamParserTest.TestFlush
Review URL: https://chromiumcodereview.appspot.com/10843044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149730 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=122913
Review URL: https://chromiumcodereview.appspot.com/10830110
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149540 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding support for retaining the 'moof' atom (revision 148982) broke an
assumption in ReadMDATsUntil(). This removes the assumption, consolidates
logic, and adds a comment and a test.
BUG=
TEST=MP4StreamParserTest, manual tests
Review URL: https://chromiumcodereview.appspot.com/10834101
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149499 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=OffsetByteQueueTest
Review URL: https://chromiumcodereview.appspot.com/10823069
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149293 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=139455
Review URL: https://chromiumcodereview.appspot.com/10832087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149274 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=Manual, in browser
Review URL: https://chromiumcodereview.appspot.com/10826056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148982 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This defers the change from kEmittingSamples to kParsingBoxes until after the
current 'mdat' atom has been cleared in MP4StreamParser.
BUG=
TEST=MP4StreamParserTest
Review URL: https://chromiumcodereview.appspot.com/10821081
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148977 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=Manual, in browser
Review URL: https://chromiumcodereview.appspot.com/10827079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148874 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UninitCondition
Conditional jump or move depends on uninitialised value(s)
media::mp4::TrackRunIterator::Init(media::mp4::MovieFragment const&)
(media/mp4/track_run_iterator.cc:134)
media::mp4::TrackRunIteratorTest_BasicOperationTest_Test::TestBody()
(media/mp4/track_run_iterator_unittest.cc:114)
Uninitialised value was created by a stack allocation
media::mp4::TrackRunIteratorTest::CreateFragment()
(media/mp4/track_run_iterator_unittest.cc:62)
BUG=none
TEST=media_unittests + valgrind.
Review URL: https://chromiumcodereview.appspot.com/10825005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148284 0039d316-1c4b-4281-b951-d872f2087c98
|