| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
When receiving a empty frame pointer, Webkit can call getCurrentFrame multiple times without calling putCurrentFrame.
BUG=142988
Review URL: https://codereview.chromium.org/11090007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160985 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=136677
Review URL: https://chromiumcodereview.appspot.com/10979047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160431 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160217 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Decryptor interface, video decoding methods are added to support CDMs that support both decryption and video decoding.
A new VideoDecoder, DecryptingVideoDecoder, is added to support video decoding by Decryptors in the media pipeline. DecryptingVideoDecoder uses adapter pattern to convert a Decryptor into a VideoDecoder.
In AddDefaultDecodersToCollection, add a DecryptingVideoDecoder object into the video decoder list.
BUG=141784
TEST=new tests added into media_unittest
Review URL: https://chromiumcodereview.appspot.com/10969028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160183 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the PPP half of the video decoding support changes.
Adds the following pepper types:
- PP_VideoCodec
- PP_DecryptedFrameFormat
- PP_EncryptedVideoFrameInfo
Replaces PPP_ContentDecryptor_Private::DecryptAndDecode with
DecryptAndDecodeFrame.
BUG=141780
TEST=
Review URL: https://chromiumcodereview.appspot.com/11023004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160078 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the PPB half of the video decoding support changes.
BUG=141780
TEST=
Review URL: https://chromiumcodereview.appspot.com/10989069
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159999 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If GenerateKeyRequest() is called |real_decryptor_| is passed into |proxy_decryptor| and |proxy_decryptor| will take the ownership. But if GenerateKeyRequest() is not called the pointer is leaked. Added a scoped pointer to take the ownership before GenerateKeyRequest() is called.
Note that we still need to keep the raw pointer in the test to be able to EXPECT_CALL on the |real_decryptor_|.
TBR=scherkus@chromium.org
BUG=153786
TEST=tested locally on Linux and no memory leak.
Review URL: https://chromiumcodereview.appspot.com/11052014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159947 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add a message loop so that we don't need the DecryptOnMessageLoop magic (and headache).
- Only supports one pending DecryptCB and removes the vector of pending callbacks.
- Fix the Seek() bug/regression introduced in r158457.
- Guard against more edge cases (see the updated unittests).
- Updated unittests.
BUG=152589
TEST=media_unittests, content_unittests, demo page plays/seeks well.
Review URL: https://chromiumcodereview.appspot.com/10979084
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159847 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The replacement class is an interface, and is implemented in cdm_wrapper.
Also renames cdm::Buffer's buffer method to data for clarity at call sites
(former name could result in calls like buffer->buffer()->buffer()).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11018007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159626 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace kError with kDecryptError, kDecodeError, and kKeyError. Update
usage sites accordingly.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11021006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159583 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=153094
Review URL: https://chromiumcodereview.appspot.com/11016006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159571 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=152595
Review URL: https://codereview.chromium.org/11013004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159540 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
The test checks baisc playback of encrypted media using webkit-org.w3.clearkey
and org.chromium.externalclearkey key systemts.
BUG=144755
Review URL: https://chromiumcodereview.appspot.com/10917202
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159360 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the "src" of <video> is derived from media stream, WebMediaPlayerMS is created.
Its real time charateristics allows it to simplify some controls in WebMediaPlayer, e.g., no buffering, no preload, etc.
WebMediaPlayerMS has 2 different VideoFrameProviders: LocalVideoCapture(for local preview) and RTCVideoRender(for remote view).
Audio will be added in the following patches.
BUG=142988,110938
TEST=turn on WebMediaPlayer_MS, run apprtc.appspot.com/?debug=loopback
Review URL: https://chromiumcodereview.appspot.com/10918052
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158490 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid freeze when user trying to seek() when a DecrptCB is pending.
It also fix an issue that the stop_cb isn't fired when FFmpegVideoDecoder::Stop() is called when a DecryptCB is pending.
BUG=151708
TEST=added new unittest to catch this
Review URL: https://chromiumcodereview.appspot.com/10964055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158457 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on the EME spec, KeyError shouldn't be fired in decryption operations. Also, in CdmWrapper::DeliverBlock() and PluginInstance::DeliverBlock() we have code dealing with decryption failures. So we don't need to check the decryption status in CdmWrapper::Decrypt().
TBR=tomfinegan@chromium.org
BUG=151454
TEST=http://codereview.chromium.org/10917202/
Review URL: https://chromiumcodereview.appspot.com/10963020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158050 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Temporarily disabling hardware accelerated decode until the
GPUVideoDecoder supports mid-stream config changes. (crbug/151045).
BUG=151043
Review URL: https://chromiumcodereview.appspot.com/10969025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157904 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to UID isolation for security reasons, the render process can no longer have permissions to access internet.
Since Android mediaplayer requires internet permission to work, it has to be moved to the browser process to resolve this.
Here are the changes included in this patch:
1. Make WebMediaPlayerAndroid a common base class for WebMediaPlayerImplAndroid and WebMediaPlayerInProcessAndroid.
WebMediaPlayerImplAndroid places the android mediaplayer in the brower process, this will be used for future chrome on android releases.
WebMediaPlayerInProcessAndroid still places the android mediaplayer in the render process, this is being used for Layout tests. We will deprecate this later.
2.Added a commandline flag kMediaPlayerInRenderProcess to
allow switching between these 2 modes
3.MediaPlayerBridge now takes over all the logics originally in WebMediaPlayerAndroid. This is to shield WMPA from knowing the internal state of the mediaplayer.
BUG=
Review URL: https://chromiumcodereview.appspot.com/10919075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157596 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows CDMs to allocate shared memory while hiding the
ppapi implementation details from the CDM. It also removes
one extra memcpy from the Decrypt path.
BUG=138139
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10914028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157406 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When PP_EncryptedBlockInfo has a num_subsamples of 0,
CdmWrapper::Decrypt triggers a _DEBUG_ERROR in
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector.
The Windows std::vector doesn't appear to like it much when you call
operator[] on empty vectors.
BUG=none
TEST=CdmWrapper::Decrypt does not crash on Windows when
PP_EncryptedBlockInfo has no sub samples.
Review URL: https://chromiumcodereview.appspot.com/10909199
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156718 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we will support only out of process CDMs, the return values
are not of interest to callers. All the return values conveyed was
that a message was dispatched successfully.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10928098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156456 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=148662
TEST=ChunkDemuxerTest, PipelineIntegrationTest, and Media Source LayoutTests all still pass.
Review URL: https://codereview.chromium.org/10905236
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156425 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Shutdown is now a single call to Stop() and is called regardless of the current state of pending operations.
BUG=110228
Review URL: https://chromiumcodereview.appspot.com/10837206
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156011 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Our use of multithreaded video decoding results in a video decoding thread that is idle most of the time. Instead of being idle it can be doing real work like decoding audio. The end result is one less thread created per media element.
BUG=61293
TBR=brettw
Review URL: https://chromiumcodereview.appspot.com/10915091
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155179 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10900007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155174 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two fixes:
1) Add a PassRef constructor to pp::Buffer_Dev to deal with reference counting
issues related to passing PP_Resources across the IPC proxy, and use it to
avoid adding unnecessary references on PP_Resources.
2) Use the PassRef ScopedPPResource contructor in PluginInstance::Decrypt to
avoid added an unnecessary reference on the buffer resource before it's
passed to the plugin interface code.
BUG=146200
TEST=PPB_Testing_Dev::GetLiveObjectsForInstance shows a stable live
object count.
Review URL: https://chromiumcodereview.appspot.com/10909068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155145 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DataSource::set_host() is called.
Otherwise if the resource loaded before FFmpegDemuxer::InitializeTask() ran, any bytes that were already buffered would never be reported to the Pipeline.
BUG=145141
Review URL: https://chromiumcodereview.appspot.com/10905012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154947 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch from jaysoffian
TBR=dalecurtis@chromium.org
CC=jaysoffian@gmail.com,markusheintz@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10919014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154252 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lets us remove AudioUtil::DeinterleaveAudioChannel(). Modifies
AudioBus to add a new FromInterleavedPartial() function which
allows for streaming deinterleave. Also adds supporting method:
ZeroFramesPartial().
BUG=114700, 120319
TEST=unittests + WebAudio test page.
Review URL: https://chromiumcodereview.appspot.com/10871051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154099 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a bool return value in media::Decryptor::GenerateKeyRequest() call and add code in WebMeidaPlayerImpl to check this value. If GenerateKeyRequest() fails, prevent further calls to AddKey() and CancelKeyRequest().
BUG=145322
TEST=Called AddKey() after GenerateKeyRequest() fails and no crash.
Review URL: https://chromiumcodereview.appspot.com/10896014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153818 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updated pp::ContentDecryptor_Private methods in CdmWrapper to call into the CDM. Also updated the event firing through pp::ContentDecryptor_Private interface in CdmWrapper.
BUG=138139
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10876014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153704 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- In PpapiDecrytor, enable calls into the PluginInstance.
- In PluginInstance, passing in all data needed by the PPP_ContentDecryptor interface.
- Hook up DecryptorClient and PPB_ContentDecryptor calls in PluginInstance.
BUG=138139
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10871006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153629 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is the Chromium-side change to support MediaSource's duration attribute.
BUG=NONE
Review URL: https://chromiumcodereview.appspot.com/10879056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153613 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ClearKeyCdm implements the ContentDecryptionModule. It's a wrapping of the media::AesDecryptor to do real decryption work. The wrapping layer only translates input/output parameters and convert the async calls in media::AesDecryptor to sync calls.
TBR=scherkus@chromium.org
BUG=none
TEST=none
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=152672
Review URL: https://chromiumcodereview.appspot.com/10837252
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153566 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Builds on interface work done by xhwang in issue 10857027.
Add init_data argument to AddKey.
Change the PPP Decrypt methods to take PP_EncryptedBlockInfo structs
instead of simple integer identifiers.
Change the PPB delivery methods to take PP_DecryptedBlockInfo structs
instead of simple integer identifiers.
Update the proxy code accordingly.
BUG=138139
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10854209
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152724 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apologies for reverting your change.
I would like to revert this change since it is the most likely change that caused a build break in the "Mac" bot: <http://build.chromium.org/p/chromium/builders/Mac/builds/16797>.
The ClearKeyCdm implements the ContentDecryptionModule. It's a wrapping of the media::AesDecryptor to do real decryption work. The wrapping layer only translates input/output parameters and convert the async calls in media::AesDecryptor to sync calls.
TBR=scherkus@chromium.org
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10837252
TBR=xhwang@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10878002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152721 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ClearKeyCdm implements the ContentDecryptionModule. It's a wrapping of the media::AesDecryptor to do real decryption work. The wrapping layer only translates input/output parameters and convert the async calls in media::AesDecryptor to sync calls.
TBR=scherkus@chromium.org
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10837252
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152672 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
WMPP could use further slimming-down / flamethrowering, but this pass just removes
the lowest-hanging fruit, where WMPP is used as a silent trampoline to WMPI on
the render thread.
Review URL: https://chromiumcodereview.appspot.com/10855188
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152239 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This interface should be implemented by any CDM (ContentDecryptionModule) that needs to be hosted by the CDMWrapper. This version only supports Decrypt(). DecryptAndDecode() support will be added in the future.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10823299
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152056 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=138139
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10827280
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152004 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=141429
Review URL: https://chromiumcodereview.appspot.com/10854151
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151988 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=141533
TBR=scherkus@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10830342
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151740 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ChunkDemuxerTest.TestDurationChangeTimestampOffset tickled a precision error in
32-bit linux due to the division by InSecondsF(). This situation can be avoided
by moving the double -> TimeDelta conversion into WebMediaPlayerImpl so that
ChunkDemuxer can compute all times in terms of TimeDeltas.
BUG=NONE
Review URL: https://chromiumcodereview.appspot.com/10823300
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151601 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These files are not used on Android but were unnecessarily compiled.
They didn't affect binary size because they were removed during linker GC,
but excluding them may save build time, and help future modular exclusion.
BUG=none
TBR=ben,kbr,brettw,jar (An Android only change to gyps)
Review URL: https://chromiumcodereview.appspot.com/10823291
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151529 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reinforces that only certain thread/message_loop can be created, which also makes thread/message_loop access easier and more reliable.
Also use scoped_refptr<MessageLoopProxy> instead of raw MessageLoop pointer in various places.
BUG=none
TEST=media_unittest, content_unittest and normal <video> playback.
Review URL: https://chromiumcodereview.appspot.com/10855051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151204 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=141906
TEST=Manual tested w/ normal & Media Source videos.
Review URL: https://chromiumcodereview.appspot.com/10825303
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151151 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
implementing codec config changes during playback.
BUG=141533
TEST=Existing PipelineTest.*, VideoRendererBaseTest.*
Review URL: https://chromiumcodereview.appspot.com/10836167
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151132 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
sanity to shutdown.
BUG=110228
Review URL: https://chromiumcodereview.appspot.com/10825280
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150930 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
sourceSetTimestampOffset() was removed in r150129 because it looked like it wasn't being used. It just hadn't been hooked up to WebKit yet. This patch will add it back.
BUG=141659
Review URL: https://chromiumcodereview.appspot.com/10823260
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150894 0039d316-1c4b-4281-b951-d872f2087c98
|