summaryrefslogtreecommitdiffstats
path: root/media/tools
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Speculative revert by sheriff"Bartosz Fabianowski2015-04-167-967/+0
| | | | | | | | | | | This reverts commit 919dce4400651813d5ff6e8a85b944a5987adcb7. BUG=None TBR=akuegel Review URL: https://codereview.chromium.org/1094553002 Cr-Commit-Position: refs/heads/master@{#325412}
* Speculative revert by sheriffBartosz Fabianowski2015-04-167-0/+967
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I am reverting all CLs that could have caused this failure: http://build.chromium.org/p/chromium.linux/builders/ Android%20Tests%20%28dbg%29/builds/27276 I will start re-landing vindicated CLs shortly. Revert "Convert a11y_page.css to a11y_page_style.html. See http://goo.gl/vIGSCO for more information." This reverts commit eb48d65705e44b80d1d7a3b4f21c567802c102bb. Revert "Supply build properties to run-bisect-perf regression for android bisects." This reverts commit 9d70bb94984b02c17678ccf482d1a7b7c760a43f. Revert "[cros New-GAIA] Webview login and new GAIA endpoint enabled by default" This reverts commit 29061783f8b59f1e78286a87a3bb7d18129f639a. Revert "Prime the landing pad for the new video rendering pipeline." This reverts commit 45a3c93f745eabf6c1b1cbdac87ed4350a919e76. Revert "Implement separate error dialog for cws widget container" This reverts commit 7ed1f876f6f4d79ac074b25f2066d514603aa18d. Revert "Create device_bluetooth watchlist; add scheib." This reverts commit 40514c99cd45d1c8e9caef3245d42533d9810179. Revert "Convert checkbox.css to checkbox_style.html. See http://goo.gl/vIGSCO for more information." This reverts commit a687f31a786645508622482e9033f497364a43cd. Revert "Created new URLRequestContext for secure proxy check." This reverts commit 652eabf1141c00594aa6e9ed81beb980aec89198. Revert "Revert of Fix scroll regression when specifying an extension id. (patchset #4 id:60001 of https://codereview.chromium.org/1064573003/)" This reverts commit 488846cd562f444831982d82ef0bc9ca0dd79028. Revert "Sync: Add Android test for downloading a bookmark" This reverts commit 9c052713563111ac3d6cc64d4b5cfdfa27c202f4. Revert "ScreenOrientationController to start observing even without an internal display." This reverts commit 31fed68a524d49f99cebf02dca6ad49019e9900c. Revert "Fix MB configurations for Mac and Win GN bots." This reverts commit 31a66f3e705d20a39033a7b7d7f09a60517e6b9d. Revert "Add tool/perf/measurements path to check for CQ jobs." This reverts commit 99e1ac1d217174dad7a862f6a0fc44950d503737. Revert "Implement Notification.data for persistent notifications." This reverts commit 539f51d6af62097059c34b1c19dfbc4352413ad7. Revert "Fix playback rate calculations for WallClockTimeSource." This reverts commit 3ec02d642465872d9ab7d7db600d0480a57b3cab. Revert "Roll src/third_party/pdfium eddab44:b330016" This reverts commit 81d51e253cfacd5648cca9f12b605e63971a9ab1. Revert "cc: Make DisplayItemList::Append replay into an SkPicture" This reverts commit ec7c07e57bc5f91e3ba0bdeba8b6f534978615b0. Revert "Clean up URLFetcher unit tests, part 5." This reverts commit 8eeb3bf4a02be612cacb3cdbb5c223d909939527. BUG=None TBR=akuegel Review URL: https://codereview.chromium.org/1083683003 Cr-Commit-Position: refs/heads/master@{#325411}
* Prime the landing pad for the new video rendering pipeline.dalecurtis2015-04-157-967/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a functional change, it only updates the interfaces and call sites in preparation for switching to a vsync based video rendering pipeline. Some notes: - Plumbs a VideoRendererSink into the the rendering pipeline; similar to how we have an AudioRendererSink. - A couple VideoRendererSink mocks are introduced which will be short lived. Like audio, we will need fakes which can pump consumption tasks. - The "PaintCB" callback has been temporarily placed on the new sink interface such that in the field experiments can be run comparing the performance of the video rendering approaches. - Finally nukes Player_X11 since setting up a vsync renderer just for unused tool code isn't worth the effort. - Since compositor callbacks may stop due to visibility changes, the new VideoRendererImpl will use a countdown timer to pump video playback as frames expire; expired frames will not count as dropped. - Since canvas/WebGL requires frame updates in the background a new method has been added to VideoFrameCompositor to return the current frame if it was updated with 250ms, or to request a new one and return the updated one. Subsequent work: - sunnyps@ will be switching VideoFrameProviderClientImpl over to using a BeginFrameObserver, which will ultimately drive the Render() callbacks. - dalecurtis@ will land the VideoRendererAlgorithm which powers the new rendering pipeline. BUG=439548 TEST=everything works as is. Review URL: https://codereview.chromium.org/1053113002 Cr-Commit-Position: refs/heads/master@{#325306}
* Revert of Prime the landing pad for the new video rendering pipeline. ↵gunsch2015-04-157-0/+967
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #9 id:200001 of https://codereview.chromium.org/1053113002/) Reason for revert: Actually, given the complexity of this change (not a one-line Cast fix) and the fact that we have broken Cast trybots running @ 100% right now (http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/), I'm going to revert this. I'm working on a brief patch of what I expect would need to be done for Cast and will upload/mail shortly. Original issue's description: > Prime the landing pad for the new video rendering pipeline. > > This is not a functional change, it only updates the interfaces and > call sites in preparation for switching to a vsync based video > rendering pipeline. > > Some notes: > - Plumbs a VideoRendererSink into the the rendering pipeline; similar to > how we have an AudioRendererSink. > - A couple VideoRendererSink mocks are introduced which will be short > lived. Like audio, we will need fakes which can pump consumption tasks. > - The "PaintCB" callback has been temporarily placed on the new sink > interface such that in the field experiments can be run comparing the > performance of the video rendering approaches. > - Finally nukes Player_X11 since setting up a vsync renderer just for > unused tool code isn't worth the effort. > - Since compositor callbacks may stop due to visibility changes, the > new VideoRendererImpl will use a countdown timer to pump video playback > as frames expire; expired frames will not count as dropped. > - Since canvas/WebGL requires frame updates in the background a new > method has been added to VideoFrameCompositor to return the current > frame if it was updated with 250ms, or to request a new one and return > the updated one. > > Subsequent work: > - sunnyps@ will be switching VideoFrameProviderClientImpl over to using > a BeginFrameObserver, which will ultimately drive the Render() callbacks. > - dalecurtis@ will land the VideoRendererAlgorithm which powers the new > rendering pipeline. > > BUG=439548 > TEST=everything works as is. > > Committed: https://crrev.com/e7f41df2541aea7c99f7965874f9c5ce901899e5 > Cr-Commit-Position: refs/heads/master@{#325183} TBR=xhwang@chromium.org,sunnyps@chromium.org,brianderson@chromium.org,enne@chromium.org,dpranke@chromium.org,danakj@chromium.org,dalecurtis@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=439548 Review URL: https://codereview.chromium.org/1052493005 Cr-Commit-Position: refs/heads/master@{#325187}
* Prime the landing pad for the new video rendering pipeline.dalecurtis2015-04-157-967/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a functional change, it only updates the interfaces and call sites in preparation for switching to a vsync based video rendering pipeline. Some notes: - Plumbs a VideoRendererSink into the the rendering pipeline; similar to how we have an AudioRendererSink. - A couple VideoRendererSink mocks are introduced which will be short lived. Like audio, we will need fakes which can pump consumption tasks. - The "PaintCB" callback has been temporarily placed on the new sink interface such that in the field experiments can be run comparing the performance of the video rendering approaches. - Finally nukes Player_X11 since setting up a vsync renderer just for unused tool code isn't worth the effort. - Since compositor callbacks may stop due to visibility changes, the new VideoRendererImpl will use a countdown timer to pump video playback as frames expire; expired frames will not count as dropped. - Since canvas/WebGL requires frame updates in the background a new method has been added to VideoFrameCompositor to return the current frame if it was updated with 250ms, or to request a new one and return the updated one. Subsequent work: - sunnyps@ will be switching VideoFrameProviderClientImpl over to using a BeginFrameObserver, which will ultimately drive the Render() callbacks. - dalecurtis@ will land the VideoRendererAlgorithm which powers the new rendering pipeline. BUG=439548 TEST=everything works as is. Review URL: https://codereview.chromium.org/1053113002 Cr-Commit-Position: refs/heads/master@{#325183}
* OnEncrypted event to use enum for |init_data_type|jrummell2015-04-031-1/+1
| | | | | | | | | BUG=469228 TEST=EME layout tests pass Review URL: https://codereview.chromium.org/1051143002 Cr-Commit-Position: refs/heads/master@{#323595}
* Decryptors can report kNoKey to WebMediaPlayerjrummell2015-03-021-1/+2
| | | | | | | | | | | | Add callback so that kNoKey can get passed to blink in order to generate the HTMLMediaElement.waitingforkey event. BUG=337975 TEST=updated tests pass Review URL: https://codereview.chromium.org/935243002 Cr-Commit-Position: refs/heads/master@{#318787}
* Moved renderer implementation from media/filters/ to media/renderers/servolk2015-02-241-3/+3
| | | | | | | | | | | Per dalecurtis@ suggestion on https://codereview.chromium.org/883353012/ BUG=457959 Review URL: https://codereview.chromium.org/941633004 Cr-Commit-Position: refs/heads/master@{#317876}
* Cleanup: Update the path to gfx size headers.tfarina2015-01-032-2/+2
| | | | | | | | | | | | | The geometry headers were moved from /ui/gfx/ to ui/gfx/geometry, so we are updating the include paths to fix this. BUG=395370 TEST=compiles TBR=sky@chromium.org,danakj@chromium.org Review URL: https://codereview.chromium.org/832953002 Cr-Commit-Position: refs/heads/master@{#309873}
* Cleanup: Update the path to gfx rect headers.tfarina2014-12-312-2/+2
| | | | | | | | | | | | | The geometry headers were moved from /ui/gfx/ to ui/gfx/geometry, so we are updating the include paths to fix this. BUG=395370 TEST=compiles TBR=sky@chromium.org,danakj@chromium.org Review URL: https://codereview.chromium.org/823133004 Cr-Commit-Position: refs/heads/master@{#309814}
* Make callers of CommandLine use it via the base:: namespace.avi2014-12-231-2/+2
| | | | | | | | | | | | Covers jingle/, media/, ppapi/, remoting/, rlz/, skia/, and sync/. BUG=422426 TEST=none TBR=ben@chromium.org Review URL: https://codereview.chromium.org/819203002 Cr-Commit-Position: refs/heads/master@{#309502}
* Encrypted Media: Rename NeedKey to EncryptedMediaInitData.xhwang2014-12-061-3/+3
| | | | | | | | | TBR=gunsch@chromium.org BUG=438110 Review URL: https://codereview.chromium.org/784493002 Cr-Commit-Position: refs/heads/master@{#307165}
* Handle SetCdm() in media::Renderer.xhwang2014-11-251-13/+5
| | | | | | | | | | | | | | | | Changes include: - Pass CdmContext in SetCdm(). - Move SetCdm() handling code from EncryptedMediaPlayerSupport to RendererImpl. - Pass in SetDecryptorReadyCB at initialization time instead of construction time for several classes: VRI/ARI/DecoderStream/DecoderSelector. - Prefixed EME uses the same path to SetCdm(). BUG=401264 TEST=All existing tests pass. Review URL: https://codereview.chromium.org/748863002 Cr-Commit-Position: refs/heads/master@{#305605}
* Pass |paint_cb| through media::Renderer::Initialize().xhwang2014-11-131-1/+1
| | | | | | | | | | | | | | | | | This provides a common path for a media::Renderer implementation to paint video frames through the render process' CC code. There are several options how this callback could be used (or not used): - Call |paint_cb| periodically to render normal video frames. - Call |paint_cb| with a HOLE_FRAME during initialization and during frame size change to support hold punching. - Ignore |paint_cb| if there is no video stream, or if video renderering is handled by the media::Renderer implementation entirely. BUG=432796 Review URL: https://codereview.chromium.org/725573003 Cr-Commit-Position: refs/heads/master@{#304074}
* Standardize usage of virtual/override/final specifiers.dcheng2014-10-271-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Google C++ style guide states: Explicitly annotate overrides of virtual functions or virtual destructors with an override or (less frequently) final specifier. Older (pre-C++11) code will use the virtual keyword as an inferior alternative annotation. For clarity, use exactly one of override, final, or virtual when declaring an override. To better conform to these guidelines, the following constructs have been rewritten: - if a base class has a virtual destructor, then: virtual ~Foo(); -> ~Foo() override; - virtual void Foo() override; -> void Foo() override; - virtual void Foo() override final; -> void Foo() final; This patch was automatically generated. The clang plugin can generate fixit hints, which are suggested edits when it is 100% sure it knows how to fix a problem. The hints from the clang plugin were applied to the source tree using the tool in https://codereview.chromium.org/598073004. BUG=417463 R=wolenetz@chromium.org Review URL: https://codereview.chromium.org/661163004 Cr-Commit-Position: refs/heads/master@{#301462}
* replace OVERRIDE and FINAL with override and final in media/mostynb2014-10-071-5/+5
| | | | | | | | BUG=417463 Review URL: https://codereview.chromium.org/623263003 Cr-Commit-Position: refs/heads/master@{#298317}
* media: Pass DemuxerStreamProvider in Renderer::Initialize().xhwang2014-10-031-1/+1
| | | | | | | | | | | | | | | | | | Currently DemuxerStreamProvider is passed in the constructor of Renderer implementations (e.g. RendererImpl and MojoRendererImpl). However, if we want to create the Renderer earlier and pass it to WebMediaPlayerImpl or Pipeline, the DemuxerStreamProvider may not be available yet. Meanwhile, when Renderer is initialized by the Pipeline, DemuxerStreamProvider is always available. This CL moves the DemuxerStreamProvider parameter to Renderer::Initialize() to accommodate the above cases. BUG=416570 TEST=Unit tests updated. Review URL: https://codereview.chromium.org/591203003 Cr-Commit-Position: refs/heads/master@{#298006}
* MediaLog: Log selected audio/video decoder name.xhwang2014-09-091-2/+4
| | | | | | | | | | | | | | The name of selected audio/video decoder will appear in chrome://media-internals. This is useful for quickly identifying which decoder is being used (e.g. whether we are using GpuVideoDecoder for hardware accelerated video decoding). BUG=411535 Review URL: https://codereview.chromium.org/547913002 Cr-Commit-Position: refs/heads/master@{#293851}
* Remove RenderThreadImpl dependencies from WebMediaPlayerImpl.acolwell2014-08-301-1/+1
| | | | | | | | | | | | | | | | | This change replaces RenderThreadImpl calls in WebMediaPlayerImpl with calls on the WebMediaPlayerParams passed into the constructor. This removes another content/ depencency so that this code can be moved to media/blink. The EncryptedMediaSupport creation was moved to RenderThreadImpl and passed via WebMediaPlayerParams to avoid linking problems that would occur if WebMediaPlayerImpl was in media/blink. BUG=408338 Review URL: https://codereview.chromium.org/517003002 Cr-Commit-Position: refs/heads/master@{#292741}
* media: Remove FilterCollection.xhwang2014-08-291-10/+11
| | | | | | | | | | | | Now we pass Demuxer and Renderer directly into Pipeline, and create TextRenderer directly in Pipeline. As a result, we don't need FilterCollection anymore. BUG=408602 TEST=All existing tests pass. Review URL: https://codereview.chromium.org/511323003 Cr-Commit-Position: refs/heads/master@{#292542}
* media: Introduce Renderer interface and RendererImpl.xhwang2014-08-231-13/+18
| | | | | | | | | | | | | | Add a Renderer interface to manage all audio/video (and in the future text) rendering. With Renderer, Pipeline only needs to manage a Demuxer and a Renderer, which helps move a lot of complicated logic out of Pipeline. On Desktop Chrome, we use RendererImpl, which manages AudioRendererImpl and VideoRendererImpl. On other platforms, we could add different Renderer implementation. For example, we could support Browser side decoding/rendering. BUG=392259 Review URL: https://codereview.chromium.org/418143005 Cr-Commit-Position: refs/heads/master@{#291592}
* Revert "Revert 285479 "Make DataSource::Stop() synchronous.""xhwang@chromium.org2014-08-022-9/+4
| | | | | | | | | | | | | | | This reverts commit aca48d3efdf5ba8a891d6f139fd8ba8db8d69fc2. The original CL didn't cause issue 397656. It's caused by previous CLs and is fixed by r286787. This CL simply reland the original CL. TBR=gbillock@chromium.org BUG=349211, 397656 TEST=Existing tests pass. Review URL: https://codereview.chromium.org/435023002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287136 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 285479 "Make DataSource::Stop() synchronous."inferno@chromium.org2014-07-282-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Causing UAFs on ClusterFuzz BUG=397656 > Make DataSource::Stop() synchronous. > > In a lot of filters in media code, Stop() has been folded into the dtor. > This model doesn't apply directly to DataSource because DataSource::Stop() > is called by the FFmpegDemuxer, but the DataSource is owned by > WebMediaPlayerImpl. > > TBR=gbillock@chromium.org > BUG=349211 > TEST=All existing tests pass. > > Review URL: https://codereview.chromium.org/413243002 TBR=xhwang@chromium.org Review URL: https://codereview.chromium.org/421843004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285858 0039d316-1c4b-4281-b951-d872f2087c98
* Make DataSource::Stop() synchronous.xhwang@chromium.org2014-07-252-9/+4
| | | | | | | | | | | | | | | In a lot of filters in media code, Stop() has been folded into the dtor. This model doesn't apply directly to DataSource because DataSource::Stop() is called by the FFmpegDemuxer, but the DataSource is owned by WebMediaPlayerImpl. TBR=gbillock@chromium.org BUG=349211 TEST=All existing tests pass. Review URL: https://codereview.chromium.org/413243002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285479 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce buffering state change callback to Pipeline.scherkus@chromium.org2014-06-241-1/+3
| | | | | | | | | | | | | This is the next step after r269828 to communicate changes in buffering state to clients. The most notable difference is that a seek completion callback no longer indicates that prerolling has also completed. Instead clients must listen for a buffering state change callback. BUG=144683 Review URL: https://codereview.chromium.org/346303002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279329 0039d316-1c4b-4281-b951-d872f2087c98
* Log codec IDs for MediaSource content.acolwell@chromium.org2014-05-091-1/+2
| | | | | | | | | | | | | This adds code to log the audio & video codec IDs to chrome:media-internals so that content providers can easily see what codec ID's they should be using for their content. A message was also added to warn people about what they need to do with implicitly signalled HE-AAC content. BUG=370927 Review URL: https://codereview.chromium.org/276503002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269221 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up paint callbacks in player_x11 to use media::BindToCurrentLoop().scherkus@chromium.org2014-04-285-26/+16
| | | | | | Review URL: https://codereview.chromium.org/252703006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266480 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate VideoDecoder::HasAlpha() and associated plumbing into ↵scherkus@chromium.org2014-04-151-4/+0
| | | | | | | | | | | | | | 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
* Remove redundant I420-to-YV12 conversion in MediaStreamVideoTrack.hshi@chromium.org2014-04-032-3/+6
| | | | | | | | | | | | | | | The I420 and YV12 formats both are almost identical except for the order of U and V planes in memory. They are effectively the same for renderers that access U and V plane data via MediaFrame::data(size_t plane). BUG=341452 BUG=355763 TEST=trybot R=danakj@chromium.org, dmichael@chromium.org, fischman@chromium.org, perkj@chromium.org, piman@chromium.org Review URL: https://codereview.chromium.org/222563002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261497 0039d316-1c4b-4281-b951-d872f2087c98
* Separate DemuxerHost from DataSourceHost.sandersd@chromium.org2014-04-032-6/+0
| | | | | | | | | | This is the first part of work to remove byte range computations out of media::Pipeline, and instead have the DataSource report those directly to Pipeline's parent, which will avoid crossing thread boundaries unnecessarily. This first CL just cleans up the interfaces required to do that, but already eliminates some of the stranger parts of the set-up code. BUG=122071 Review URL: https://codereview.chromium.org/212803004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261494 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for midstream audio configuration changes.dalecurtis@google.com2014-03-281-5/+16
| | | | | | | | | | | | | | | | | This introduces a new class, AudioBufferConverter, which takes AudioBuffers of arbitrary formats and converts them to AudioBuffers of a common format. To support config changes seamlessly we use the AudioBufferConverter to convert incoming AudioBuffers to the hardware output format as we get them from the AudioBufferStream. This way the rest of the audio pipeline doesn't need to handle config changes. We only enable this conversion step for DemuxerStreams that support config changes (namely ChunkDemuxerStream). BUG=347270 TEST=AudioBufferConverterTest NOTRY=true R=dalecurtis@chromium.org Review URL: https://codereview.chromium.org/177333003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260071 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Has{Audio,Video}(), GetInitialNaturalSize() from media::Pipeline.sandersd@chromium.org2014-03-261-10/+12
| | | | | | | | | | | | | | | | This splits PipelineBufferingStateCB in two: PipelineMetadataCB, which includes the available tracks and natural size in a PipelineMetadata struct; and PipelinePrerollCompleted, with no parameters. Now WebMediaPlayerImpl can cache the metadata and the accessors are not required. This was previously committed as r259154 and r259385. BUG=148541 Review URL: https://codereview.chromium.org/211703004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259672 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Remove Has{Audio,Video}(), GetInitialNaturalSize() from ↵erikchen@chromium.org2014-03-261-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | media::Pipeline. (https://codereview.chromium.org/211313004/) Reason for revert: This CL breaks Linux Clang (dbg) Build http://build.chromium.org/p/chromium.linux/builders/Linux%20Clang%20%28dbg%29/builds/57597 http://build.chromium.org/p/chromium.linux/builders/Linux%20Clang%20%28dbg%29/builds/57598 from thakis: the problem is probably that ffmpeg_regression_tests doesn't link in gfx_geometry and you're missing a dep on that Original issue's description: > Remove Has{Audio,Video}(), GetInitialNaturalSize() from media::Pipeline. > > This splits PipelineBufferingStateCB in two: PipelineMetadataCB, which > includes the available tracks and natural size in a PipelineMetadata > struct; and PipelinePrerollCompleted, with no parameters. Now > WebMediaPlayerImpl can cache the metadata and the accessors are not > required. > > This was previously committed as r259154. > > BUG=148541 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259385 TBR=scherkus@chromium.org,dalecurtis@chromium.org,sandersd@chromium.org NOTREECHECKS=true NOTRY=true BUG=148541 Review URL: https://codereview.chromium.org/209043005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259402 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Has{Audio,Video}(), GetInitialNaturalSize() from media::Pipeline.sandersd@chromium.org2014-03-251-10/+12
| | | | | | | | | | | | | | | | This splits PipelineBufferingStateCB in two: PipelineMetadataCB, which includes the available tracks and natural size in a PipelineMetadata struct; and PipelinePrerollCompleted, with no parameters. Now WebMediaPlayerImpl can cache the metadata and the accessors are not required. This was previously committed as r259154. BUG=148541 Review URL: https://codereview.chromium.org/211313004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259385 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure GL initialization only happens once, and provide common init pathdanakj@chromium.org2014-02-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently tests initialize GL by calling into methods that should be internal to the gl bindings code. Instead, everyone should go through GLSurface::InitializeOneOff. Also GLSurface::InitializeOneOff early outs if it was already called, leading to a pattern of initializing GL all over the place just in case and not having a clear idea of where it should be set up. Instead, DCHECK that it is not called more than once, and move calls to this method to be during process startup for unit test suites instead of mid-test. This adds two test variants of InitializeOneOff for tests to call, that set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. R=ben@chromium.org, piman@chromium.org, sievers@chromium.org, piman, sievers BUG=270918 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247793 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=248049 Review URL: https://codereview.chromium.org/135213003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248557 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 248049 "Ensure GL initialization only happens once, and p..."kbr@chromium.org2014-01-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Caused content_gl_tests to start failing on all Mac Release GPU bots. See Issue 339658 for details. > Ensure GL initialization only happens once, and provide common init path > > Currently tests initialize GL by calling into methods that should be > internal to the gl bindings code. Instead, everyone should go through > GLSurface::InitializeOneOff. > > Also GLSurface::InitializeOneOff early outs if it was already called, > leading to a pattern of initializing GL all over the place just in case > and not having a clear idea of where it should be set up. Instead, DCHECK > that it is not called more than once, and move calls to this method to > be during process startup for unit test suites instead of mid-test. > > This adds two test variants of InitializeOneOff for tests to call, that > set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. > > R=piman, sievers > BUG=270918 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247793 > > Review URL: https://codereview.chromium.org/135213003 TBR=danakj@chromium.org BUG=270918,339658 Review URL: https://codereview.chromium.org/151003002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248093 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure GL initialization only happens once, and provide common init pathdanakj@chromium.org2014-01-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Currently tests initialize GL by calling into methods that should be internal to the gl bindings code. Instead, everyone should go through GLSurface::InitializeOneOff. Also GLSurface::InitializeOneOff early outs if it was already called, leading to a pattern of initializing GL all over the place just in case and not having a clear idea of where it should be set up. Instead, DCHECK that it is not called more than once, and move calls to this method to be during process startup for unit test suites instead of mid-test. This adds two test variants of InitializeOneOff for tests to call, that set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. R=piman, sievers BUG=270918 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247793 Review URL: https://codereview.chromium.org/135213003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248049 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 247793 "Ensure GL initialization only happens once, and p..."yoz@chromium.org2014-01-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | due to new static initializers in gl_bindings_autogen_gl.cc > Ensure GL initialization only happens once, and provide common init path > > Currently tests initialize GL by calling into methods that should be > internal to the gl bindings code. Instead, everyone should go through > GLSurface::InitializeOneOff. > > Also GLSurface::InitializeOneOff early outs if it was already called, > leading to a pattern of initializing GL all over the place just in case > and not having a clear idea of where it should be set up. Instead, DCHECK > that it is not called more than once, and move calls to this method to > be during process startup for unit test suites instead of mid-test. > > This adds two test variants of InitializeOneOff for tests to call, that > set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. > > R=piman, sievers > BUG=270918 > > Review URL: https://codereview.chromium.org/135213003 TBR=danakj@chromium.org Review URL: https://codereview.chromium.org/149953003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247811 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure GL initialization only happens once, and provide common init pathdanakj@chromium.org2014-01-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | Currently tests initialize GL by calling into methods that should be internal to the gl bindings code. Instead, everyone should go through GLSurface::InitializeOneOff. Also GLSurface::InitializeOneOff early outs if it was already called, leading to a pattern of initializing GL all over the place just in case and not having a clear idea of where it should be set up. Instead, DCHECK that it is not called more than once, and move calls to this method to be during process startup for unit test suites instead of mid-test. This adds two test variants of InitializeOneOff for tests to call, that set up OSMesa or Mock GL bindings, via GLSurface::InitializeOneOff. R=piman, sievers BUG=270918 Review URL: https://codereview.chromium.org/135213003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247793 0039d316-1c4b-4281-b951-d872f2087c98
* Take GL version and extensions correctly into account when binding functionsoetuaho@nvidia.com2014-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platform libraries may return non-null function pointers from dlsym or getProcAddress for unsupported GL functions. Previously the function binding logic tried to address this with a separate extension function binding step, but since some of the bindings were still done without consulting the extension string, this failed to account for some conflicts between core and extension functions such as glDiscardFramebufferEXT vs. glInvalidateFramebuffer. Fix this by binding all functions that have multiple versions only after the context has been made current, and consulting the extension and version strings. The logic for binding each function is now only in one place in the generated code and easy to follow. The patch still does not guarantee that the function pointers would be set to null if the function is unsupported. It only attempts to guarantee that an incorrect version of a function is not bound in case another version is supported. The patch is conservative like this to avoid requiring the exact specification of binding conditions in case a function only has one name, and to make it less likely to expose bugs elsewhere. GetGLCoreProcAddress and GetGLProcAddress are combined into one function, which always first looks for the function pointer with dlsym and then with GetProcAddress. The new conditions for binding make sure that this does not result in errors. The patched bindings do not query for incorrect OES or ARB extension strings without the GL_ prefix. Including the incorrect extension strings without the prefix is assumed to have been a mistake. This applies to OES_get_program_binary, OES_vertex_array_object, ARB_get_program_binary, ARB_vertex_array_object, and APPLE_vertex_array_object. BUG=322489 TEST=gpu_unittests, cc_unittests, WebGL conformance tests Review URL: https://codereview.chromium.org/98643013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245623 0039d316-1c4b-4281-b951-d872f2087c98
* Replace MessageLoopProxy with SingleThreadTaskRunner for the rest of media/.scherkus@chromium.org2014-01-071-11/+12
| | | | | | | | | | BUG=315922 R=dalecurtis@chromium.org TBR=jam Review URL: https://codereview.chromium.org/66183002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243390 0039d316-1c4b-4281-b951-d872f2087c98
* Fix layout test analyzer post changes in parsing expectations.shadi@chromium.org2013-12-192-21/+5
| | | | | | | | | | | In specific, LTA broke post https://codereview.chromium.org/20830003 BUG=None TEST=python layouttest_analyzer_runner.py --issue-detail-mode Review URL: https://codereview.chromium.org/113973006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241907 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb AudioLog support into AudioManager.dalecurtis@chromium.org2013-12-041-1/+2
| | | | | | | | | | | | | | | | AudioManager is now also an AudioLogFactory. Changing the constructor of AudioManager isn't viable due to its psuedo-singleton behavior, so MediaInternal's AudioLogFactory must be injected after construction. The next step after this CL is to have AudioOutputDispatcherImpl objects own an AudioLog instance. BUG=260005 TEST=none, just plumbing. Review URL: https://codereview.chromium.org/99733004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238637 0039d316-1c4b-4281-b951-d872f2087c98
* Restore capacity increase on underflow for MSE playbacks.acolwell@chromium.org2013-12-021-2/+1
| | | | | | | | | | | | | | | | | | | | The "increase preroll capacity on underflow" logic was disabled for MSE playbacks a while ago because it was causing unwanted garbage collections and was allowing the capacity to grow too large. This change restores the capacity increase logic, but restricts the capacity so that it never grows beyond 3 seconds worth of data. This will avoid the GC issues encountered before. This change also resets the capacity on flush so that capacity increases in one playback period don't negatively effect the seek start time. BUG=291726 TEST=AudioRendererImplTest.Underflow, AudioRendererImplTest.Underflow_FollowedByFlush Review URL: https://codereview.chromium.org/88743004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238230 0039d316-1c4b-4281-b951-d872f2087c98
* Rename VideoRendererBase to VideoRendererImplacolwell@chromium.org2013-11-261-2/+2
| | | | | | Review URL: https://codereview.chromium.org/86603002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237245 0039d316-1c4b-4281-b951-d872f2087c98
* Replace LOG(INFO) with VLOG(0), throughout *media*fischman@chromium.org2013-11-252-4/+4
| | | | | | | | | | | | | | This CL was generated by: sed -i -e 's/LOG(INFO)/VLOG(0)/g' -e 's/LOG_IF(INFO,/VLOG_IF(0,/g' \ $(git grep -l -F 'LOG(INFO)' -- '*media*') \ $(git grep -l -F 'LOG_IF(INFO' -- '*media*') && \ git cl format R=scherkus@chromium.org Review URL: https://codereview.chromium.org/83413006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237091 0039d316-1c4b-4281-b951-d872f2087c98
* Port demuxer benchmark to media_perftests.rileya@chromium.org2013-11-011-240/+0
| | | | | | | | BUG=310837 Review URL: https://codereview.chromium.org/41703003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232309 0039d316-1c4b-4281-b951-d872f2087c98
* Report 2 digit floating point failing rate percentage.shadi@chromium.org2013-10-241-2/+2
| | | | | | | | | BUG=None NOTRY=true Review URL: https://codereview.chromium.org/37923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230570 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up unused constant globalshans@chromium.org2013-10-031-8/+0
| | | | | | | | | | | Found by clang's new -Wunused-const-variable. BUG=290204 TBR=mark, acolwell, agl, alexeypa, markus, brettw Review URL: https://codereview.chromium.org/25849004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226888 0039d316-1c4b-4281-b951-d872f2087c98
* Summer cleaning, media/ style!dalecurtis@chromium.org2013-08-2918-2308/+0
| | | | | | | | | | | Removes a bunch of unused code and utilities. BUG=none TEST=compiles, passes CQ. Review URL: https://chromiumcodereview.appspot.com/23058004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220227 0039d316-1c4b-4281-b951-d872f2087c98