| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
Saves us over 1200 files during compilation!! Also
cleans up media_perftests for a smaller savings.
BUG=302505
TEST=media_unittests is at ~3000 files now.
Review URL: https://codereview.chromium.org/438963005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287189 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Facilitates gapless playback across mp3 and aac. Relying on splice
frames and crossfading doesn't work in cases where the prior segment
signal diverges to null-padding values too quickly relative to the
newly appended segment.
BUG=395899
TEST=new unittests. llama-demo works.
Review URL: https://codereview.chromium.org/414603002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287174 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we destroy AudioRenderer and VideoRenderer in Pipeline::DoStop(). However,
when DoStop() is called, we could have callbacks (e.g. time_cb, ended_cb etc)
already posted by AudioRenderer and VideoRenderer. After DoStop(), the Pipeline
could be destroyed, executing those previously posted callbacks would cause
crash because we bind the callbacks using base::Unretained(this).
This CL changes the Pipeline callbacks to use weak pointer instead of
base::Unretained(this) so that the previously posted callbacks will be
dropped quietly if they are executed after the pipeline is destroyed.
Note that weak pointers should only be evaluated on the thread it's created,
so I am adding several PostTask() and/or thread check to enforce this.
BUG=349211,397656,397582
TEST=All existing tests pass.
Review URL: https://codereview.chromium.org/417303004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286787 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This happened once during local testing where the demuxer is reporting an error.
TEST=Added unit test to cover this case.
Review URL: https://codereview.chromium.org/433583002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286786 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
test launcher timeout to run.
BUG=399002
TBR=rileya@chromium.org
Review URL: https://codereview.chromium.org/425283006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286581 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds a MediaUrlInterceptor that content embedders
can register to handle custom urls. The MediaUrlInterceptor
translates a url into a media file. The motivation for this change
is to allow the Android WebView to play media files from the
assets in the apk.
BUG=387898
Review URL: https://codereview.chromium.org/411353002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286506 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This avoids a NULL deref and a browser DoS should a renderer send
an out-of-range type. This is easily hit with the IPC fuzzer but
unlikely to occur otherwise.
Review URL: https://codereview.chromium.org/421743002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286424 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
BUG=349211
TEST=All existing tests pass.
Review URL: https://codereview.chromium.org/416713002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285213 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
See [1].
[1] http://developer.android.com/reference/android/hardware/Camera.html#setParameters(android.hardware.Camera.Parameters)
BUG=b/16370110
Review URL: https://codereview.chromium.org/400933002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285050 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This make VideoRenderer consistent with the rest of the media pipeline.
BUG=349211
TEST=All existing tests pass.
Review URL: https://codereview.chromium.org/414583002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284898 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=349211
TEST=All existing tests pass.
Review URL: https://codereview.chromium.org/409813003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284830 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update remaining encrypted media browser tests to use new player app.
This is similar to r282795 + fix to GN builds. The fix is in
media/BUILD.gn file.
BUG=379314
Review URL: https://codereview.chromium.org/408993002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284803 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=349211
TEST=Existing tests pass.
Review URL: https://codereview.chromium.org/407583002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284734 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VideoFrame based on StreamTexture is reused on many frames. However, clients (e.g.
compositor, WebGL) inserts a sync point every frame. So VideoFrame on Android
can keep several mega byte sync points unnecessarily.
This CL makes VideoFrame keep only one sync point. When a client set new sync point
to VideoFrame and VideoFrame already keeps the sync point of another client, VideoFrame
waits the previous sync point before inserting a new sync point. A client must provide
a VideoFrame::SyncPointProvider so that VideoFrame can insert or wait a sync point.
BUG=350925
Review URL: https://codereview.chromium.org/312803002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284658 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly mechanical change to finish migrating time-related
methods from AudioRenderer to TimeSource.
BUG=370634
Review URL: https://codereview.chromium.org/403723006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284598 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change passes the basic auth information to android mediaplayer to solve the issue that media with basic auth is not able to play.
Previously MediaInfoLoader and MediaResourceGetter could be ran at the same time.
However, MediaResourceGetter could miss the credential info if we do that.
As a result, we should wait until MediaInfoLoader finishes before creating the browser side MediaPlayer.
BUG=319885
Review URL: https://codereview.chromium.org/405663002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284535 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This broke the linux gn bot:
http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/9676/steps/compile/logs/stdio
[824/4367 | 164.256] CXX
obj/media/video/capture/media_unittests.fake_video_capture_device_unittest.o
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++
-Wl,--fatal-warnings -m64 -fPIC -Wl,-z,noexecstack -Wl,-z,now
-Wl,-z,relro -B../../third_party/binutils/Linux_x64/Release/bin
-Wl,--icf=none -pthread -Wl,-rpath=\\\$ORIGIN/lib/
-Wl,-rpath-link=lib/ -o ffmpeg_unittests -Wl,--start-group
@ffmpeg_unittests.rsp -Wl,--end-group -ldl -lasound -lX11
-lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lXss
-lXtst -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0
-lnss3 -lnssutil3 -lsmime3 -lplds4 -lplc4 -lnspr4 -lfontconfig
-lfreetype -lpangocairo-1.0 -lpango-1.0 -lcairo
obj/media/base/media_test_support.test_data_util.o:../../media/base/test_data_util.cc:function
media::StartMediaHttpTestServer():error: undefined reference to
'net::BaseTestServer::kLocalhost'
obj/media/base/media_test_support.test_data_util.o:../../media/base/test_data_util.cc:function
media::StartMediaHttpTestServer():error: undefined reference to
'net::LocalTestServer::LocalTestServer(net::BaseTestServer::Type,
std::string const&, base::FilePath const&)'
obj/media/base/media_test_support.test_data_util.o:../../media/base/test_data_util.cc:function
media::StartMediaHttpTestServer():error: undefined reference to
'net::LocalTestServer::Start()'
clang:error: linker command failed with exit code 1 (use -v to see
invocation)
...
> Have media content and chrome browser tests load data from media/test/data
>
> Update remaining encrypted media browser tests to use new player app.
>
> (This is identical to r282795 which got reverted, i.e. revert of revert).
>
> The fix was submitted separately in r283757
>
> BUG=379314
>
> Review URL: https://codereview.chromium.org/398823004
TBR=shadi@chromium.org
Review URL: https://codereview.chromium.org/405803007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284495 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update remaining encrypted media browser tests to use new player app.
(This is identical to r282795 which got reverted, i.e. revert of revert).
The fix was submitted separately in r283757
BUG=379314
Review URL: https://codereview.chromium.org/398823004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284489 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It saves two memcpy and quite some intermedia AudioBus code.
Also, this CL corrects a mistake in https://codereview.chromium.org/389623002/ by using FromInterleavedPartial() instead of FromInterleaved().
BUG=393199
TEST=bots and webrtc loopback test: https://apprtc.appspot.com
Review URL: https://codereview.chromium.org/396263004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284477 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preparation for migrating to TimeSource, StartPlayingFrom() is
renamed to StartPlaying() with renderers expected to fetch the current
time instead of being provided the time.
AudioRenderer::SetMediaTime() is temporarily added until we can migrate
the interface to being based on TimeSource.
BUG=370634
R=xhwang@chromium.org
Review URL: https://codereview.chromium.org/400853002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284155 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TimeSource represents the canonical source of time and will eventually
replace the time-updating callback from AudioRenderer and VideoRenderer.
A wall-clock based implementation is also provided for media pipelines
that do not contain any audio.
BUG=370634
Review URL: https://codereview.chromium.org/379343005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284122 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=47554
Review URL: https://codereview.chromium.org/394373002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283962 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes the SourceBufferStream unit tests so that they always
provide valid durations for buffers that it passes to SourceBufferStream.
I've also added code to SoureBufferStream to verify that it always gets
buffers with valid durations.
Minor tweaks to test expectations were needed to compensate for the
SourceBufferStream behaving differently when it got actual durations instead
of using the durations it made up. In most cases I just used the duration
the SourceBufferStream was ultimately using. In a few cases the duration
the SourceBufferStream was generating didn't make any sense so I simply
changed the expectations to match the new behavior.
This is an attempt to reland https://codereview.chromium.org/379693002/ with
appropriate crash fixes.
Review URL: https://codereview.chromium.org/393403002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283754 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Stop() process is already synchronous. This CL folds the Stop() call into
the dtor which simplifies a lot of code.
TBR=bbudge@chromium.org
BUG=349211
TEST=Current unittests pass.
Review URL: https://codereview.chromium.org/395703002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283578 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new AudioBlockFifo() is made for the input code to avoid copying audio data during Push() and Consume().
Contrast to the existing AudioFifo, which requires a AudioBus* as input param for its Push() and Consume() methods to copy the data from/to the FIFO, this new AudioBlockFifo keeps blocks of AudioBus, it accepts interleaved data as input for its Push() method, and its Consume() method return an AudioBus for consumption. So the copy operations in this AudioBlockFifo() is 1 versus 3 in AudioFifo().
NOTRY=true
BUG=393199
TEST=media_unittests --gtest_filter="*AudioBlockFifo*"
Review URL: https://codereview.chromium.org/389623002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283518 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
valid durations. (https://codereview.chromium.org/379693002/)
Reason for revert:
This seems to have broken several layout tests:
event-attributes.html
media-controller-time-clamp.html
video-currentTime-delay.html
video-currentTime-set.html
video-duration-known-after-eos.html
video-loop.html
video-playbackrate.html
video-played-collapse.html
video-seek-past-end-paused.html
video-seek-past-end-playing.html
video-seek-to-duration-with-playbackrate-zero.html
See for example this build:
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.6%20(dbg)/builds/16392
Original issue's description:
> Update SourceBufferStream and its unit tests to always expect valid durations.
>
> This change fixes the SourceBufferStream unit tests so that they always
> provide valid durations for buffers that it passes to SourceBufferStream.
> I've also added code to SoureBufferStream to verify that it always gets
> buffers with valid durations.
>
> Minor tweaks to test expectations were needed to compensate for the
> SourceBufferStream behaving differently when it got actual durations instead
> of using the durations it made up. In most cases I just used the duration
> the SourceBufferStream was ultimately using. In a few cases the duration
> the SourceBufferStream was generating didn't make any sense so I simply
> changed the expectations to match the new behavior.
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=283365
TBR=wolenetz@chromium.org,dalecurtis@chromium.org,acolwell@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/392193003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283390 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes the SourceBufferStream unit tests so that they always
provide valid durations for buffers that it passes to SourceBufferStream.
I've also added code to SoureBufferStream to verify that it always gets
buffers with valid durations.
Minor tweaks to test expectations were needed to compensate for the
SourceBufferStream behaving differently when it got actual durations instead
of using the durations it made up. In most cases I just used the duration
the SourceBufferStream was ultimately using. In a few cases the duration
the SourceBufferStream was generating didn't make any sense so I simply
changed the expectations to match the new behavior.
Review URL: https://codereview.chromium.org/379693002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283365 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
from blending with reused image buffer contents.
BUG=392733
TEST=SkCanvasVideoRendererTest.TransparentFrame
Review URL: https://codereview.chromium.org/388363002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283338 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Video renderers don't need the information as they are already making
audio/video synchronization decisions based on a media timeline that
already incorporates the current playback rate via the time callback.
In particular, VideoRendererImpl only used playback rate to estimate
a better duration to sleep until the current frame was ready ...
except that in most cases we'd sleep for kIdleTimeDelta and wait
until the media timeline had progressed past the current frame's
timestamp. In other words, there's absolutely no reason to even try
to estimate the sleep duration based on the playback rate.
BUG=370634
Review URL: https://codereview.chromium.org/394443003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283072 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/384943002/)
Reason for revert:
Sorry to revert this change. It made the following layout tests flakily fail:
media/track/track-cue-rendering-horizontal.html
media/track/track-cue-rendering-vertical.html
Reverting locally healed the tests.
The image diffs show what appears to be a timestamp change (something like 0:18 to 0:19):
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux__dbg_/20779/layout-test-results/results.html
Original issue's description:
> Remove media::VideoRenderer::SetPlaybackRate().
>
> Video renderers don't need the information as they are already making
> audio/video synchronization decisions based on a media timeline that
> already incorporates the current playback rate via the time callback.
>
> In particular, VideoRendererImpl only used playback rate to estimate
> a better duration to sleep until the current frame was ready ...
> except that in most cases we'd sleep for kIdleTimeDelta and wait
> until the media timeline had progressed past the current frame's
> timestamp. In other words, there's absolutely no reason to even try
> to estimate the sleep duration based on the playback rate.
>
> BUG=370634
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=282797
TBR=xhwang@chromium.org,scherkus@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=370634
Review URL: https://codereview.chromium.org/390733002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282891 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It broke browser tests. Probably need to update isolate files to fix it...
> Have media content and chrome browser tests load data from media/test/data
>
> With media files copied over to media/test/data, this CL makes media related content browser tests and chrome browser tests load test data from one location.
>
> The location is common with media unit tests data forder; managed in one place in media/base/test_data_util.h
>
> BUG=379314
>
> Review URL: https://codereview.chromium.org/357413002
TBR=shadi@chromium.org
Review URL: https://codereview.chromium.org/383063009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282812 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not call Pipeline::On{Audio|Video}RendererEnded() because it's pipeline's
implementation detail and will go away. Instead, let the mock renderers call the
ended_cb.
Also rename several helper functions to reflect what they really do.
BUG=392259
TEST=All current tests pass.
Review URL: https://codereview.chromium.org/388763003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282798 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Video renderers don't need the information as they are already making
audio/video synchronization decisions based on a media timeline that
already incorporates the current playback rate via the time callback.
In particular, VideoRendererImpl only used playback rate to estimate
a better duration to sleep until the current frame was ready ...
except that in most cases we'd sleep for kIdleTimeDelta and wait
until the media timeline had progressed past the current frame's
timestamp. In other words, there's absolutely no reason to even try
to estimate the sleep duration based on the playback rate.
BUG=370634
Review URL: https://codereview.chromium.org/384943002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282797 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
With media files copied over to media/test/data, this CL makes media related content browser tests and chrome browser tests load test data from one location.
The location is common with media unit tests data forder; managed in one place in media/base/test_data_util.h
BUG=379314
Review URL: https://codereview.chromium.org/357413002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282795 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replicates FFmpeg's behavior for frame allocation. They do not zero
the frame on subsequent pool reuse, so I have not done so either.
BUG=390941,390944,390945
TEST=new unittest.
Review URL: https://codereview.chromium.org/383893002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282775 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=391724
Review URL: https://codereview.chromium.org/378543002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282588 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
For some applications where we need to keep multiple copies of the audio bus around (particularly in STL containers), a scoped_ptr to an audio bus isn't enough. For those rare situations, we're adding a RefCounted version of the AudioBus.
R=dalecurtis@chromium.org
BUG=None.
Review URL: https://codereview.chromium.org/388563005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282510 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We probably shouldn't allow this, but it's currently relied upon by the
WebAudio code and cleaning it up is a big deal: http://crbug.com/151051.
The AudioRendererSink interface does not specify that after Stop() the
sink can no longer be used. All other sinks allow restart, so this is
just keeping with the pace.
In http://crrev.com/280502 I conflated the one-stop-only mechanics of
AudioRenderer:Stop() with those of AudioRendererSink::Stop(). This
patch reverts that mistake while keeping the fixes for the original
issue.
BUG=389204,390977
TEST=new unittest.
Review URL: https://codereview.chromium.org/381823003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282481 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
to track the set of video rotation metadata. This
will later be used to correctly orient rotated videos.
BUG=47554
Review URL: https://codereview.chromium.org/363813002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282236 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly cosmetic API changes. The guts of TimeDeltaInterpolator were
spruced up a bit.
BUG=370634
Review URL: https://codereview.chromium.org/376013003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282186 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
enumeration.
BUG=390884
Review URL: https://codereview.chromium.org/379813003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282115 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we call clock_->SetTime() before we flush the renderers. This CL
moves it to right before we call StartPlayingFrom(start_timestamp_). This
makes it easier in a later CL to hide all clock logic into a new Renderer
implementation.
This CL also fixed the PipelineTest.Seek test. Originally we AddTextStream()
in the text which causes a TextRenderer::Read(). But we never satisfy or
abort that Read(). This caused TextRenderer::Pause() to never return the
completion callback. Therefore, the pipeline seek process never finishes.
This test was passing because we SetTime() before we DoSeek(). Now I moved
SetTime() after DoSeek() and this issue is exposed.
BUG=392259
TEST=All existing tests pass.
Review URL: https://codereview.chromium.org/377003002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281938 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
It has no business being in there. Instead let Pipeline track duration
and cap interpolated time values as needed.
BUG=370634
Review URL: https://codereview.chromium.org/375003002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281935 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This contains fixes for the following sorts of issues:
* Signedness mismatch
* Assignment inside conditional
* Possibly-uninitialized local variable
This also contains a small number of other cleanups/simplifications to nearby
code.
BUG=81439
TEST=none
Review URL: https://codereview.chromium.org/377803004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281888 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r389104 added both a DCHECK to verify buffering state as well as a new
way to disable underflow logic for Pipeline. In debug valgrind builds
it became possible to underflow and hit the DCHECK since the variable
was never updated.
BUG=389104
Review URL: https://codereview.chromium.org/372013002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281654 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
It's no longer needed now that all renderers have moved towards
buffering state callbacks.
BUG=144683
Review URL: https://codereview.chromium.org/361243007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281619 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous attempt: https://codereview.chromium.org/377443004/
Before the uint32 cast (which is needed to prevent integer promotion
from turning this into a signed int), the bytes need to be cast to
uint8 so that sign extension is done correctly.
(Keeping this a macro for now since else this would have to be
a constexpr function, and we don't use c++11 yet.)
BUG=82385
TBR=acolwell@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/372053002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281587 0039d316-1c4b-4281-b951-d872f2087c98
|