summaryrefslogtreecommitdiffstats
path: root/content/renderer/media
Commit message (Collapse)AuthorAgeFilesLines
* Support 3 channels for audio input.grunell@chromium.org2014-04-291-1/+2
| | | | | | | | | | Test code in https://codereview.chromium.org/255753003/ BUG=345296 Review URL: https://codereview.chromium.org/197453002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266849 0039d316-1c4b-4281-b951-d872f2087c98
* Remove dropped frame counting and task posting from VideoFrameCompositor.scherkus@chromium.org2014-04-295-229/+81
| | | | | | | | | | While developing VideoFrameScheduler it became apparent that we no longer need to post tasks to notify the compositor as scheduling is already being done on the compositor thread. If there are no posted tasks, it also means we don't need to track dropped frames due to missed scheduler notifications. BUG=110814 Review URL: https://codereview.chromium.org/251733005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266822 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor video capturing code in the render processhclam@chromium.org2014-04-2815-622/+680
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a large refactoring to cleanup the code that handles video capturing in the render process. The goal of this change is to: * Simplify threading model for objects involved. * Clarify ownership model. * Remove extra complexity caused by media::VideoCapture. Summary of this change: * Interface media::VideoCapture is removed completely. This interface doesn't add much value. It fails to define threading model and ownership. Some of the methods are obsolete. * Pepper code that performs video capturing now do not inherit from media::VideoCapture. The inheritance is not necessary * VideoCaptureImpl is now a purely IO thread object. VideoCaptureImpl can only be accessed on the IO thread. It now becomes and inner object of VideoCaptureImplManager. Client is not allowed to access this object directly. This helps remove code that accepts call from the render thread and hopping to the IO thread. This also makes cleanup much simpler. * VideoCaptureHandle is removed. The function of VideoCaptureHandle, i.e. handle cleanup of video capture resource is now folded into VideoCaptureImplManager. It's function is now replaced by a closure. * VideoCaptureImplManager becomes the public interface for accessing video capture device and start/stop capture. It takes VideoCaptureImpl as an internal object and sheild it from clients. We can now perform cleanup to prevent leak. Also ensures VideoCaptureImpl objects are deleted on the IO thread. * VideoFrames delivery done using callback insteasd of an interface. Using callback to deliver VideoFrames and state changes make thread hopping much simpler. Clients no longer need to provide an EventHandler interface. * Net deleted 450 lines of code. Tested with apprtc.appspot.com and example pepper plugin. Additional test to verify there's no leakage of VideoCaptureImpl objects. BUG=335327, 362558 Review URL: https://codereview.chromium.org/242013002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266492 0039d316-1c4b-4281-b951-d872f2087c98
* Always mark cross-origin as true for regular media urlsqinmin@chromium.org2014-04-272-0/+9
| | | | | | | | | | | We cannot guarantee that urls will not be redirected when android mediaplayer requests video streams. Always treat media urls as cross-origin for now. BUG=334204 Review URL: https://codereview.chromium.org/247573004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266396 0039d316-1c4b-4281-b951-d872f2087c98
* KeySystems: IsSupportedContainerAndCodecs() ignores empty codec.xhwang@chromium.org2014-04-261-1/+2
| | | | | | | | | | | | | | | In IsTypeSupported() call, when the codec string in the mime type contains extra commas, e.g. ",vorbis", an empty codec will be passed into IsSupportedContainerAndCodecs. In this case, we should ignore that codec instead of assuming it's not empty. BUG=362769 TEST=Layout test crash is fixed. R=ddorwin@chromium.org Review URL: https://codereview.chromium.org/254913002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266335 0039d316-1c4b-4281-b951-d872f2087c98
* Use AudioProcessing::Initialize().ajm@chromium.org2014-04-261-6/+10
| | | | | | | | | | | Use this in place of the deprecated set_sample_rate_hz(). Similarly, switch sample_rate_hz() to input_sample_rate_hz(). TESTED=apprtc sounds as expected with constraints enabled/disabled. Review URL: https://codereview.chromium.org/259663005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266320 0039d316-1c4b-4281-b951-d872f2087c98
* Use base::STLSetDifference() in place of std::set_difference().sungmann.cho@navercorp.com2014-04-251-14/+2
| | | | | | | | BUG=254066 Review URL: https://codereview.chromium.org/253523004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266293 0039d316-1c4b-4281-b951-d872f2087c98
* Store SupportedCodecs in KeySystemInfo and KeySystems.xhwang@chromium.org2014-04-253-96/+218
| | | | | | | | | | | | | | | | | | | | Previously we convert SupportedCodecs (a uint32 bit mask indicating which codec is supported) to ContainerCodecMap (a map from a container type to a set of supported codecs in that container). Then we pass ContainerCodecMap to KeySystems and store it there for easy look up. This results in a lot of duplicate converting code. This CL stores SupportedCodecs in KeySystmeInfo and KeySystems so that we don't need to convert anything. Then when IsTypeSupported() is called, we find the bit masks for queried container and codec types and compare it with the SupportedCodecs stored in KeySystems. BUG=362769 TEST=All existing tests pass. Review URL: https://codereview.chromium.org/246033002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266148 0039d316-1c4b-4281-b951-d872f2087c98
* Move IPC::MessageFilter and router to a separate filedmichael@chromium.org2014-04-258-19/+22
| | | | | | | | | | | | | | | There are no changes in implementation in this CL. This is in preparation for making IPC::Channel support filters on the Channel's thread. BUG=364241 TBR=cpu@chromium.org,nduca@chromium.org cpu: OWNERS for win8 nduca: OWNERS for components/tracing Review URL: https://codereview.chromium.org/245443005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266057 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Add an api to control the hole punching.ycheo@chromium.org2014-04-243-1/+15
| | | | | | | | | | | | - Add a method to AwSettings. - Add a flag to RendererPreferences. - Make WebMediaPlayerAndroid to punch the hole depends on the flag. BUG=329447 Review URL: https://codereview.chromium.org/236133010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265885 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PlatformFile from Media stream aec_dumprvargas@chromium.org2014-04-238-55/+39
| | | | | | | | BUG=322664 Review URL: https://codereview.chromium.org/237913002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265748 0039d316-1c4b-4281-b951-d872f2087c98
* Move creation of webrtc specific MediaStreamVideoTrack classes to ↵perkj@chromium.org2014-04-2334-259/+238
| | | | | | | | | | | | | WebRtcMediaStreamAdapter. This cl adds a new container for each webrtc Video track called WebRtcVideoTrackAdapter owned by WebRtcMediaStreamAdapter. Furthermore it cleans up the use of MediaStreamDepencyFactory now when its not needed. BUG=323223 Review URL: https://codereview.chromium.org/230833003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265595 0039d316-1c4b-4281-b951-d872f2087c98
* Add a flag to use the video overlay for the embedded video forcefully.ycheo@chromium.org2014-04-232-1/+9
| | | | | | | | | | This flag is for the purpose to test the hole punching logic in Android WebView. BUG=329447 Review URL: https://codereview.chromium.org/231643007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265590 0039d316-1c4b-4281-b951-d872f2087c98
* Do not provide the input level if the APM is not enabled in Chrome.xians@chromium.org2014-04-235-10/+34
| | | | | | | | | | NOTRY=true BUG=365616 TEST=content_unittests --gtest_filter=*GetSignalLevel*" Review URL: https://codereview.chromium.org/247183002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265564 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an issue that fullscreen video will not resume after being interrupted ↵qinmin@chromium.org2014-04-231-1/+3
| | | | | | | | | | | | | | | | by other apps When video is interrupted, Release() is called on the MediaPlayerBridge. In the old fullscreen mode, BrowserMediaPlayerManager::FullscreenPlayerPlay() should re-attach the surface to the new mediaplayer. However, with the new fullscreen mode, FullscreenPlayerPlay() is not going to be called since there is no android media control. Instead, hitting the play button will call BrowserMediaPlayerManager::OnStart(). As a result, we should copy the logic that re-attaching the surface into OnStart(). And we should not attach the embedded surface to the media player when video is in fullscreen. BUG=365310 Review URL: https://codereview.chromium.org/243483006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265457 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated set_num_channel() API.ajm@chromium.org2014-04-221-7/+4
| | | | | | | | | | | | | | | | | In preparation for this change: http://review.webrtc.org/9919004/ AudioProcessing uses mono by default, so this call isn't needed. We'll start using the new Initialize() interface in its (and set_sample_rate_hz's) place when available. TESTED=observed a difference in apprtc with audio processing constraints enabled and disabled. BUG=webrtc:2894 Review URL: https://codereview.chromium.org/246413002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265398 0039d316-1c4b-4281-b951-d872f2087c98
* KeySystems: Drop MediaCodec version check in AddClearKey() on Android.xhwang@chromium.org2014-04-221-6/+2
| | | | | | | | | | | | | | | | | This DCHECK was added in r265018. It's added because KeySystems should not be created if EME is disabled. However, KeySystemsTest always creates KeySystems regardless of platform. This caused the DCHECK to fire on Android versions that do not support MediaCodec. This CL removes the DCHECK to return to the previous behavior. I can also disable the tests on Android versions that do not support MediaCodec, but that seems a lot of extra code. R=ddorwin@chromium.org Review URL: https://codereview.chromium.org/246873003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265289 0039d316-1c4b-4281-b951-d872f2087c98
* Reland of Only create webrtc MediaStreams when connected to a PC.perkj@chromium.org2014-04-2216-501/+469
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d5158f4cec5dc31309ef93b66a8f8b46ae708fc0. https://src.chromium.org/viewvc/chrome?view=rev&revision=264300 Furthermore it adds a MediaStreamObserver (patch set 2) that can be used to get notifications when a track is removed or added from a MediaStream. It is needed to allow modifying a MediaStream that is already beeing sent on a PeerConnection and fixes the problem showed in: http://build.chromium.org/p/chromium.webrtc/builders/WinXP%20Tester/builds/8185 http://build.chromium.org/p/chromium.webrtc/builders/Win8%20Tester/builds/1202 http://build.chromium.org/p/chromium.webrtc/builders/Mac%20Tester/builds/21768 Original cl description: This cl adds a new class WebRtcMediaStreamAdapter. The responsibility of the class is to create and own a representation of a webrtc MediaStream that can be added and removed from a PeerConnection. An instance of WebRtcMediaStreamAdapter is created when a MediaStream is added to RTCPeerConnection object. The purpose is to clean up the the webrtc specific use of MediaStreams. The original cl was commited here: https://src.chromium.org/viewvc/chrome?view=rev&revision=262395 BUG=323223 R=xians@chromium.org Review URL: https://codereview.chromium.org/240723004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265212 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes WebMediaPlayerAndroid to respect infinite-duration media streams.gunsch@chromium.org2014-04-223-15/+10
| | | | | | | | | | | | Tested primarily on Android from the following stream: https://www.youtube.com/tv#/watch?v=xrM34fdmloc R=damienv@chromium.org,qinmin@chromium.org BUG=b/13981784 Review URL: https://codereview.chromium.org/239743005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265119 0039d316-1c4b-4281-b951-d872f2087c98
* Use ContainerCodecsMap in KeySystemInfo.xhwang@chromium.org2014-04-212-67/+67
| | | | | | | | | | | This replaces std::vector<ContainerCodecsPair> and avoids unnecessary string splits. BUG=354612 Review URL: https://codereview.chromium.org/237513005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265018 0039d316-1c4b-4281-b951-d872f2087c98
* Revert teporary include hacks for WebLocalFrame and use forward declaresdcheng@chromium.org2014-04-185-8/+6
| | | | | | | | BUG=346764 Review URL: https://codereview.chromium.org/238033002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264720 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure that a MediaStreamVideoSource can be deleted in the context of a ↵perkj@chromium.org2014-04-173-1/+49
| | | | | | | | | | | failure callback. TEST= content_unittests MediaStreamVideoSourceTest.ReleaseTrackAndSourceOnFailureCallBack BUG= 364207 Review URL: https://codereview.chromium.org/238443015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264489 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure Pepper plugin origin matches security originjrummell@chromium.org2014-04-177-4/+26
| | | | | | | | | | | | | | Verify the Pepper instance's origin matches the security origin. Also move the optional document URL checking to CdmAdapter::Initialize() and fix it to not check for a host if using file://. BUG=353324 TEST=encrypted media layout and browser tests pass Review URL: https://codereview.chromium.org/236313007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264450 0039d316-1c4b-4281-b951-d872f2087c98
* Use larger buffer sizes for lower power on Linux.dalecurtis@chromium.org2014-04-171-1/+1
| | | | | | | | | | | | | | | | | | | HTML5 playback on Linux ALSA, Pulse, and ChromeOS will now use a buffer size of 1024+ for media playback. On my Z620 this takes pulseaudio daemon CPU usage from a solid 3-4% down to 1%. Likely there are savings in the Chrome process as well, but those are harder to measure against process noise. I suspect we'll see greater savings on Chromebooks. BUG=362261 TEST=Audio sounds the same always. CPU usage down. NOTRY=true Review URL: https://codereview.chromium.org/235723003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264443 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 264277 "Revert "Revert of Only create webrtc MediaStreams..."fischman@chromium.org2014-04-1616-360/+497
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: broke a bunch of webrtc bots including: http://build.chromium.org/p/chromium.webrtc/builders/WinXP%20Tester/builds/8185 http://build.chromium.org/p/chromium.webrtc/builders/Win8%20Tester/builds/1202 http://build.chromium.org/p/chromium.webrtc/builders/Mac%20Tester/builds/21768 (when you reland this, please make clear in your CL description that this is not only a Revert^4, but actually a reland :)) > Revert "Revert of Only create webrtc MediaStreams when added to a PeerConnection > https://codereview.chromium.org/227163007/ > > This reverts commit caa70d180ff72cbf5f5ffd542b97de86794d5e00. > > The reason for the original revert is fixed in https://codereview.chromium.org/237433003/. > > Original CL desription: > This cl adds a new class WebRtcMediaStreamAdapter. The responsibility of the class is to create and own a representation of a webrtc MediaStream that can be added and removed from a PeerConnection. > An instance of WebRtcMediaStreamAdapter is created when a MediaStream is added to RTCPeerConnection object. > > The purpose is to clean up the the webrtc specific use of MediaStreams. > > TBR= ronghuawu@chromium.org > BUG=323223 > > Review URL: https://codereview.chromium.org/235503011 TBR=perkj@chromium.org Review URL: https://codereview.chromium.org/240533002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264300 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert of Only create webrtc MediaStreams when added to a PeerConnectionperkj@chromium.org2014-04-1616-497/+360
| | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/227163007/ This reverts commit caa70d180ff72cbf5f5ffd542b97de86794d5e00. The reason for the original revert is fixed in https://codereview.chromium.org/237433003/. Original CL desription: This cl adds a new class WebRtcMediaStreamAdapter. The responsibility of the class is to create and own a representation of a webrtc MediaStream that can be added and removed from a PeerConnection. An instance of WebRtcMediaStreamAdapter is created when a MediaStream is added to RTCPeerConnection object. The purpose is to clean up the the webrtc specific use of MediaStreams. TBR= ronghuawu@chromium.org BUG=323223 Review URL: https://codereview.chromium.org/235503011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264277 0039d316-1c4b-4281-b951-d872f2087c98
* Remove calls to WebMediaPlayerClient::setOpaque().scherkus@chromium.org2014-04-162-8/+1
| | | | | | | | | | As of blink r171720 they're no longer needed now that WebMediaPlayer implementations call WebLayerImpl::setOpaque() directly. BUG=110814 Review URL: https://codereview.chromium.org/239393007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264266 0039d316-1c4b-4281-b951-d872f2087c98
* Update MediaStreamTrack::Stop to latest draft.perkj@chromium.org2014-04-1631-318/+388
| | | | | | | | | | MediaStreamTrack::Stop now only stop the source if there are no other tracks using the same source. BUG=357503 Review URL: https://codereview.chromium.org/218763007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264155 0039d316-1c4b-4281-b951-d872f2087c98
* Add WebMediaPlayer::timelineOffset() support to WebMediaPlayerImpl.acolwell@chromium.org2014-04-162-0/+10
| | | | | | | | | | | | | | | | These changes add support for the WebMediaPlayer::timelineOffset() method so that HTMLMediaElement::getStartDate() can report this information to JavaScript. FFmpegDemuxer & ChunkDemuxer have been updated to provide "timeline offset" information for WebM. BUG=312699 TESTS=PipelineIntegrationTest.BasicPlayback, PipelineIntegrationTest.BasicPlaybackLive, PipelineIntegrationTest.BasicPlayback_MediaSource, PipelineIntegrationTest, BasicPlayback_MediaSource_Live Review URL: https://codereview.chromium.org/236023003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264145 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate VideoDecoder::HasAlpha() and associated plumbing into ↵scherkus@chromium.org2014-04-156-20/+120
| | | | | | | | | | | | | | VideoFrameCompositor. Opacity can be derived by inspecting the format of the video frames as they pass through VideoFrameCompositor. Similar to changes in natural size, changes in opacity are now detected. Finally, make the call directly to WebLayerImpl instead of plumbing values through HTMLMediaElement. BUG=110814 Review URL: https://codereview.chromium.org/235933012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263906 0039d316-1c4b-4281-b951-d872f2087c98
* Limit the max volume to 255 before pass it to APM.xians@chromium.org2014-04-142-4/+6
| | | | | | | | BUG=264611 Review URL: https://codereview.chromium.org/225143006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263624 0039d316-1c4b-4281-b951-d872f2087c98
* MediaStreamVideoSource: don't crop NATIVE_TEXTURE-backed frames.perkj@chromium.org2014-04-141-19/+12
| | | | | | | | | | | | | The use of VideoFrame::WrapVideoFrame() is not supported for NATIVE_TEXTURES, The problem is tracked in crbug/362521 Also: - use Rect::ClampToCenteredSize() instead of reinventing the wheel. BUG=362007,362521 Review URL: https://codereview.chromium.org/233733006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263614 0039d316-1c4b-4281-b951-d872f2087c98
* Final (?) set of changes to unblock WebLocalFrame in blink.dcheng@chromium.org2014-04-121-4/+4
| | | | | | | | | | | | | Mostly mechanical like several other proceeding CLs. This is to unblock https://codereview.chromium.org/232133004/ so it can land in Blink and roll into Chrome. BUG=346764 R=bauerb@chromium.org, jam@chromium.org, mkosiba@chromium.org Review URL: https://codereview.chromium.org/234263002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263449 0039d316-1c4b-4281-b951-d872f2087c98
* Merge PlatformVideoDecoder into PPB_VideoDecoder_Implpiman@chromium.org2014-04-122-187/+0
| | | | | | | | | | | | PlatformVideoDecoder is just a simple shell around media::VideoDecodeAccelerator, dating from when PPB* were in webkit/ It's not needed any more, so just merge it into PPB_VideoDecoder_Impl. BUG=None Review URL: https://codereview.chromium.org/235953002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263436 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 262050 "Implement a source for remote video tracks.""perkj@chromium.org2014-04-1117-365/+566
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c6d743ef45ab10d0e014dd07b81de10a9aaa3e0c. The underlaying problem is fixed in https://codereview.chromium.org/232803002/ Original description: Implement a source for remote video tracks. MediaStreamRemoteVideoSource implements the MediaStreamVideoSource interface for video tracks received on a PeerConnection. The purpose of the class is to make sure there is no difference between a video track where the source is a local source and a video track where the source is a remote video track. Verified on ChromeOs with hw decode support. TBR=ronghuawu BUG=334243 Review URL: https://codereview.chromium.org/231983006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263238 0039d316-1c4b-4281-b951-d872f2087c98
* Allow a MediaStream video source to change resolution.perkj@chromium.org2014-04-115-14/+72
| | | | | | | | | | | | Some type of sources, such as a remote video stream, can change resolution on the fly. This cl allows the source to change resolution and deliver video frames to the track unchanged. If the resolution is higher that allowed by constraints, the frame is cropped. BUG=361992 Review URL: https://codereview.chromium.org/232803002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263195 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the crash during Android WebView instrumentation tests with VIDEO_HOLE.ycheo@chromium.org2014-04-111-1/+1
| | | | | | Review URL: https://codereview.chromium.org/232893002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263176 0039d316-1c4b-4281-b951-d872f2087c98
* Adds more logging for audio input issues.jiayl@chromium.org2014-04-102-1/+32
| | | | | | | | | | | | | | -Adds the audio input device id and name to the stream generation message. -Re-enables the no_data_timer in AudioInputController for logging. The NO_DATA_ERROR is ignored and will not stop capturing. -Adds a AudioPowerMonitor to WebRtcAudioCapturer to log the audio power level. R=vrk@chromium.org,xians@chromium.org,tommi@chromium.org BUG=360756 Review URL: https://codereview.chromium.org/229573003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263127 0039d316-1c4b-4281-b951-d872f2087c98
* Update a few more references to WebFrame to use WebLocalFrame.dcheng@chromium.org2014-04-103-14/+16
| | | | | | | | | | | | I've also updated the most straightforward changes to just remove references to WebFrame altogether. Code that uses a mixture of both throughout hasn't changed. BUG=346764 Review URL: https://codereview.chromium.org/231793004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263035 0039d316-1c4b-4281-b951-d872f2087c98
* Rename VideoFrame::{Get,Set}Timestamp() to {set_}timestamp().scherkus@chromium.org2014-04-105-10/+10
| | | | | | | | | | Makes the naming consistent with AudioBuffer, which is helpful now that DecoderStream<T> enforces API consistency. TBR=dmichael Review URL: https://codereview.chromium.org/229453004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262914 0039d316-1c4b-4281-b951-d872f2087c98
* Move DataSourceHost to BufferedDataSourceHost.sandersd@chromium.org2014-04-1010-23/+238
| | | | | | | | BUG=122071 Review URL: https://codereview.chromium.org/224093011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262892 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 262050 "Implement a source for remote video tracks."vrk@chromium.org2014-04-0917-566/+365
| | | | | | | | | | | | | | | | | | | | | > Implement a source for remote video tracks. > MediaStreamRemoteVideoSource implements the MediaStreamVideoSource interface > for video tracks received on a PeerConnection. The purpose of the class is > to make sure there is no difference between a video track where the source is > a local source and a video track where the source is a remote video track. > > BUG=334243 > > Review URL: https://codereview.chromium.org/201583003 This caused remote video to appear unexpectedly zoomed and cropped. BUG=334243,361770 TBR=perkj@chromium.org Review URL: https://codereview.chromium.org/231963002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262819 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Only create webrtc MediaStreams when added to a PeerConnection ↵yurys@chromium.org2014-04-0816-361/+499
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/227163007/) Reason for revert: This change caused 16 tests under LayoutTests/fast/mediastream/ to crash http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&tests=fast/mediastream/RTCPeerConnection-AddRemoveStream.html,fast/mediastream/RTCPeerConnection-createAnswer.html,fast/mediastream/RTCPeerConnection-createOffer.html,fast/mediastream/RTCPeerConnection-datachannel.html,fast/mediastream/RTCPeerConnection-dtmf.html,fast/mediastream/RTCPeerConnection-events.html,fast/mediastream/RTCPeerConnection-ice.html,fast/mediastream/RTCPeerConnection-lifetime.html,fast/mediastream/RTCPeerConnection-localDescription.html,fast/mediastream/RTCPeerConnection-onnegotiationneeded.html,fast/mediastream/RTCPeerConnection-remoteDescription.html,fast/mediastream/RTCPeerConnection-state.html,fast/mediastream/RTCPeerConnection-stats.html,fast/mediastream/RTCPeerConnection-statsSelector.html,fast/mediastream/RTCPeerConnection.html,fast/mediastream/constructors.html Original issue's description: > This cl adds a new class WebRtcMediaStreamAdapter. The responsibility of the class is to create and own a representation of a webrtc MediaStream that can be added and removed from a PeerConnection. > An instance of WebRtcMediaStreamAdapter is created when a MediaStream is added to RTCPeerConnection object. > > The purpose is to clean up the the webrtc specific use of MediaStreams. > > BUG=323223 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=262395 TBR=xians@chromium.org,ronghuawu@chromium.org,perkj@chromium.org NOTREECHECKS=true NOTRY=true BUG=323223 Review URL: https://codereview.chromium.org/228733002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262403 0039d316-1c4b-4281-b951-d872f2087c98
* MediaStream API: Removing a few Todos that are now fixedtommyw@chromium.org2014-04-081-13/+0
| | | | | | Review URL: https://codereview.chromium.org/228163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262402 0039d316-1c4b-4281-b951-d872f2087c98
* This cl adds a new class WebRtcMediaStreamAdapter. The responsibility of the ↵perkj@chromium.org2014-04-0816-499/+361
| | | | | | | | | | | | | | class is to create and own a representation of a webrtc MediaStream that can be added and removed from a PeerConnection. An instance of WebRtcMediaStreamAdapter is created when a MediaStream is added to RTCPeerConnection object. The purpose is to clean up the the webrtc specific use of MediaStreams. BUG=323223 Review URL: https://codereview.chromium.org/227163007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262395 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure a track lifetime message is sent even if ice has connected before ↵perkj@chromium.org2014-04-083-36/+94
| | | | | | | | | | a MediaStream is added to a PeerConnection. BUG=361024 Review URL: https://codereview.chromium.org/226743003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262367 0039d316-1c4b-4281-b951-d872f2087c98
* Add ProxyMediaKeys::Create().xhwang@chromium.org2014-04-073-33/+66
| | | | | | | | This makes sure ProxyMediaKeys::InitializeCdm() is always called after the construction. Review URL: https://codereview.chromium.org/224963009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262191 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a source for remote video tracks.perkj@chromium.org2014-04-0617-365/+566
| | | | | | | | | | | | | MediaStreamRemoteVideoSource implements the MediaStreamVideoSource interface for video tracks received on a PeerConnection. The purpose of the class is to make sure there is no difference between a video track where the source is a local source and a video track where the source is a remote video track. BUG=334243 Review URL: https://codereview.chromium.org/201583003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262050 0039d316-1c4b-4281-b951-d872f2087c98
* Encrypted Media: Drop wrong DCHECK in RendererMediaPlayerManager.xhwang@chromium.org2014-04-051-6/+1
| | | | | | | | | | | | | | Now the |player_id| is generated in RendererMediaPlayerManager::RegisterMediaPlayer() and the |cdm_id| is generated in ProxyMediaKeys::ProxyMediaKeys(). They are different in general and can be the same only be accident. This DCHECK is wrong which assumes the |cdm_id| is always the same as the |player_id|. BUG=338910 Review URL: https://codereview.chromium.org/226043006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262033 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor VideoSourceHandler to implement MediaStreamVideoSink.perkj@chromium.org2014-04-058-176/+103
| | | | | | | | | | | | | VideoSourceHandler now receive video frames from a MediaStreamVideoTrack. TBR jam for content_tests.gypi TBR=jam BUG=334243 Review URL: https://codereview.chromium.org/213613003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262010 0039d316-1c4b-4281-b951-d872f2087c98