qinmin@chromium.org [Mon, 20 May 2013 05:40:11 +0000 (05:40 +0000)]
Add MSE implementation on android
Here are the changes included in this CL:
1. Adds a MediaSourcePlayer for android to play media source extensions. Only embedded mode are working currently.
2. Rewrite the MediaCodecBridge code in java. The current MediaCodecBridge code is not very suitable for exception handling. Also, this refactoring adds support for audio playback.
BUG=233420
Review URL: https://chromiumcodereview.appspot.com/
15113002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@201031
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@chromium.org [Thu, 16 May 2013 20:39:55 +0000 (20:39 +0000)]
Move SincResampler SSE initialization into MediaInitializer.
BUG=none
TEST=media_unittests
Review URL: https://chromiumcodereview.appspot.com/
14672024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200623
0039d316-1c4b-4281-b951-
d872f2087c98
rtoy@google.com [Thu, 16 May 2013 18:21:59 +0000 (18:21 +0000)]
Destroy the openSLES objects in the correct order on Android.
BUG=
Glenn Kasten says the player should be destroyed before the OutputMix.
R=tommi@chromium.org
Review URL: https://codereview.chromium.org/
15204003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200581
0039d316-1c4b-4281-b951-
d872f2087c98
matthewjheaney@chromium.org [Thu, 16 May 2013 17:35:03 +0000 (17:35 +0000)]
Parse WebM track name and language
The Track header of a WebM file contains (among other items)
a track name and track language. We do not currently use
this information. However, it is needed to construct WebVTT
inband text tracks. The WebM tracks parser has been modified
to provide this information to its clients.
(An earlier version of this commit failed to compile on some
systems. The problem was that some integer constants needed
to be qualified with a suffix to specify an extra precision
integer type.)
BUG=230708
Review URL: https://chromiumcodereview.appspot.com/
15205002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200562
0039d316-1c4b-4281-b951-
d872f2087c98
sergeyu@chromium.org [Thu, 16 May 2013 10:45:24 +0000 (10:45 +0000)]
Use webrtc::DesktopCapturer for screen capturer implementation.
Screen capturers are being moved from media/video/capture/screen to
third_party/webrtc. This CL is an intermediate step in that process.
Depends on https://webrtc-codereview.appspot.com/1322007/
TBR=brettw@chromium.org (third_party/webrtc dependency)
Review URL: https://chromiumcodereview.appspot.com/
13983010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200504
0039d316-1c4b-4281-b951-
d872f2087c98
wolenetz@chromium.org [Thu, 16 May 2013 06:25:05 +0000 (06:25 +0000)]
Roll FFmpeg for M29
Chrome-side changes:
1. Use AVCodecID instead of CodecID.
2. Accomodate FFmpeg's new internal refcounted buffers:
* Use av_free_packet() instead of av_destruct_packet() in FFmpegH264ToAnnexBBitstreamConverterTests (http://crbug.com/238543)
* Add TSAN suppressions (http://crbug.com/239350)
* Copy from data[] in FFmpegCdmVideoDecoder. (http://crbug.com/240573)
3. Update ffmpeg_regression_tests:
* Rebaseline expectations (http://crbug.com/237363)
* Mark some flaky (http://crbug.com/237371)
* Change disabled to flaky (http://crbug.com/236979)
* Add new tests. (http://crbug.com/234630)
R=dalecurtis
BUG=238543,239350,237363,237371,236979,234630,123426,223295,236611,234630,240573,241212
Review URL: https://chromiumcodereview.appspot.com/
15078005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200467
0039d316-1c4b-4281-b951-
d872f2087c98
leozwang@chromium.org [Thu, 16 May 2013 05:34:18 +0000 (05:34 +0000)]
Set default sampling rate to 44100 and query the native output sampling rate.
BUG=231094
Review URL: https://chromiumcodereview.appspot.com/
14049003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200461
0039d316-1c4b-4281-b951-
d872f2087c98
thestig@chromium.org [Thu, 16 May 2013 02:37:50 +0000 (02:37 +0000)]
Cleanup: Remove unneeded base/file_util.h includes in chrome_frame, courgette, ipc, media, and net.
Review URL: https://chromiumcodereview.appspot.com/
14820034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200419
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@chromium.org [Thu, 16 May 2013 02:05:03 +0000 (02:05 +0000)]
Report timing statistics for audio controller methods via UMA.
Logs the time taken to execute the main methods of AudioInputController
and AudioOutputController. This timing information will be used to
determine if we can combine the audio thread and the UI thread on OSX
to (hopefully) fix http://crbug.com/158170.
BUG=158170
TEST=chrome://histograms/Media.Audio contains information.
Review URL: https://chromiumcodereview.appspot.com/
14827002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200414
0039d316-1c4b-4281-b951-
d872f2087c98
avayvod@chromium.org [Wed, 15 May 2013 22:03:52 +0000 (22:03 +0000)]
Replaced 8 callbacks provided to MediaPlayerBridge with an interface (reusing MediaPlayerManager).
BUG=None
TEST=No new tests, no functional changes.
Review URL: https://chromiumcodereview.appspot.com/
14581015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200365
0039d316-1c4b-4281-b951-
d872f2087c98
rouslan@chromium.org [Wed, 15 May 2013 18:36:58 +0000 (18:36 +0000)]
Revert 200308 "Parse WebM track name and language"
> Parse WebM track name and language
>
> The Track header of a WebM file contains (among other items)
> a track name and track language. We do not currently use
> this information. However, it is needed to contruct WebVTT
> inband text tracks. The WebM tracks parser has been
> modified to provide this information to its clients.
>
> BUG=230708
>
> Review URL: https://chromiumcodereview.appspot.com/
14977006
TBR=matthewjheaney@chromium.org
Review URL: https://codereview.chromium.org/
14959015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200323
0039d316-1c4b-4281-b951-
d872f2087c98
matthewjheaney@chromium.org [Wed, 15 May 2013 17:29:06 +0000 (17:29 +0000)]
Parse WebM track name and language
The Track header of a WebM file contains (among other items)
a track name and track language. We do not currently use
this information. However, it is needed to contruct WebVTT
inband text tracks. The WebM tracks parser has been
modified to provide this information to its clients.
BUG=230708
Review URL: https://chromiumcodereview.appspot.com/
14977006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200308
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Wed, 15 May 2013 10:11:21 +0000 (10:11 +0000)]
Add VideoDecoder::NeedsBitStreamConversion().
In the future world where VideoDecoder doesn't talk to DemuxerStream directly
(see issue 141788), the owner of the VideoDecoder (e.g. VideoFrameStream) needs
to get the info about whether the decoder needs bitstream conversion so that it
can call DemuxerStream::EnableBitstreamConverter() accordingly.
BUG=141788,240342
TEST=Current media_unittests pass.
Review URL: https://chromiumcodereview.appspot.com/
15140002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@200232
0039d316-1c4b-4281-b951-
d872f2087c98
davemoore@chromium.org [Mon, 13 May 2013 20:49:43 +0000 (20:49 +0000)]
Decrease the max wait time for audio on chromeos
BUG=231975
TEST=Play audio in background tab and do something that uses
a lot of cpu in foreground. Skipping should be decreased
although it won't be eliminated.
R=dalecurtis@chromium.org, dgreid@chromium.org
Review URL: https://codereview.chromium.org/
15054009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199820
0039d316-1c4b-4281-b951-
d872f2087c98
qinmin@chromium.org [Mon, 13 May 2013 17:32:10 +0000 (17:32 +0000)]
Fix conflicting #define for WebaudioMediaCodecBridge
This conflicts with the #define in MediaCodecBridge
R=dalecurtis@chromium.org
Review URL: https://codereview.chromium.org/
14796017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199756
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Mon, 13 May 2013 17:32:05 +0000 (17:32 +0000)]
Fix a typo in GpuVideoDecoder.
TBR=scherkus@chromium.org
Review URL: https://codereview.chromium.org/
15102005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199755
0039d316-1c4b-4281-b951-
d872f2087c98
tomfinegan@chromium.org [Mon, 13 May 2013 17:00:10 +0000 (17:00 +0000)]
WebM file for testing inband text tracks
This patch comprises just a single WebM test file. In
addition to the video track, the file also contains an
inband subtitle track.
BUG=230708
R=scherkus@chromium.org, tomfinegan@chromium.org
Review URL: https://codereview.chromium.org/
14678008
Patch from Matthew Heaney <matthewjheaney@chromium.org>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199748
0039d316-1c4b-4281-b951-
d872f2087c98
qinmin@chromium.org [Sat, 11 May 2013 19:29:22 +0000 (19:29 +0000)]
Fix the build for Google TV
R=qinmin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15096003
Patch from Yuncheol Heo <ycheo@chromium.org>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199628
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Sat, 11 May 2013 18:51:58 +0000 (18:51 +0000)]
Reenable media::Pipeline's ThreadChecker now that reference counting has been removed.
BUG=148405
Review URL: https://chromiumcodereview.appspot.com/
14720010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199617
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@chromium.org [Fri, 10 May 2013 19:32:23 +0000 (19:32 +0000)]
Cleanup and reduce memory usage for MultiChannelResampler.
Removes a vector allocation and an allocation for an unused channel
in favor of AudioBus::CreateWrapper(). These allocations are also
moved to the constructor now that SincResampler will always ask for
the same amount of data.
BUG=none
TEST=media_unittests
Review URL: https://chromiumcodereview.appspot.com/
14969017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199521
0039d316-1c4b-4281-b951-
d872f2087c98
henrika@chromium.org [Fri, 10 May 2013 14:57:27 +0000 (14:57 +0000)]
Adds support for different sample rates in unified audio on Windows.
First working version where audio works in full duplex using different combinations of sample rates in both directions.
Also needs https://codereview.chromium.org/
14189035/
BUG=none
TEST=media_unittests.exe --gtest_filter=WASAPIUni* --gtest_also_run_disabled_tests
Also done local WebAudio tests using several different audio devices. Off-line tuning of parameters are done using Matlab scripts and file output from unit tests.
Review URL: https://chromiumcodereview.appspot.com/
14352016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199481
0039d316-1c4b-4281-b951-
d872f2087c98
jamesr@chromium.org [Fri, 10 May 2013 05:22:06 +0000 (05:22 +0000)]
Cut content/browser dependency on webkit_media
BUG=237267
Review URL: https://chromiumcodereview.appspot.com/
15063003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199384
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Fri, 10 May 2013 00:30:15 +0000 (00:30 +0000)]
Remove function level static initializers from VectorMath.
Since VectorMath routines (and other features) are used both
in the renderer process and the browser process, relying on
InitializeMediaLibrary() alone is insufficient.
Enter: InitializeCPUSpecificMediaFeatures(), a method which
can be called from the browser process without initializing
any of the loadable media modules.
BUG=224662
TEST=media_unittests
R=scherkus@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/
15044005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199315
0039d316-1c4b-4281-b951-
d872f2087c98
jrummell@chromium.org [Thu, 9 May 2013 18:05:06 +0000 (18:05 +0000)]
Enable partial playback
Currently Chrome supports partial playback of unsupported content.
However it only works for codecs Chrome doesn't know about. This CL
fixes the case where Chrome knows about the codec but does not support
it on a particular platform.
BUG = 127881
Review URL: https://chromiumcodereview.appspot.com/
14997005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199244
0039d316-1c4b-4281-b951-
d872f2087c98
tomfinegan@chromium.org [Thu, 9 May 2013 13:00:11 +0000 (13:00 +0000)]
media: Ensure VP8 alpha tests really use the VP8 alpha decoder.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
15019011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199204
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Thu, 9 May 2013 05:40:30 +0000 (05:40 +0000)]
Reland: Remove reference counting from media::Pipeline.
Now with a test that covers the refresh/teardown case.
BUG=173313
Review URL: https://chromiumcodereview.appspot.com/
14779009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199130
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Thu, 9 May 2013 05:40:15 +0000 (05:40 +0000)]
Fix some includes in media code.
Review URL: https://chromiumcodereview.appspot.com/
14773010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199129
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Wed, 8 May 2013 22:58:24 +0000 (22:58 +0000)]
Reland "Add FakeDemuxerStream."
FakeVideoDecoder will be added later. Hopefully these will make tests in
VideoFrameStream cleaner.
TBR=scherkus@chromium.org
BUG=141788
Review URL: https://codereview.chromium.org/
14837007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199037
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Wed, 8 May 2013 22:53:28 +0000 (22:53 +0000)]
Reduce jitter from uneven SincResampler buffer size requests.
Ensures all buffer requests are for the same size. Reduces jitter
by allowing clients with specific buffer size requirements to avoid
overreading.
BUG=none
TEST=media_unittests.
R=crogers@google.com, henrika@chromium.org, sergeyu@chromium.org
Review URL: https://codereview.chromium.org/
14189035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199032
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Wed, 8 May 2013 21:43:42 +0000 (21:43 +0000)]
Fix support for channel layouts other than the hardware layout.
When a channel layout reported as supported was passed into the
WASAPI driver, it would still check it against the preferred
parameters and fail out. Doing so caused an Open() failure
which leads to WaveOut fallback in AudioOutputResampler!
I've modified the check to ignore channel counts when checking
the parameter validity against preferred params. If the channel
counts aren't supported failure will still happen in Open() due
to the IsFormatSupported() check failing out.
BUG=227043
TEST=latency numbers return to normal
R=henrika@chromium.org
Review URL: https://codereview.chromium.org/
14828007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@199020
0039d316-1c4b-4281-b951-
d872f2087c98
qinmin@chromium.org [Wed, 8 May 2013 19:04:02 +0000 (19:04 +0000)]
Add MediaPlayerAndroid as a super class for all media player implementations on android.
There are several different implementations of media players on Android.
Currently they all inherit from MediaPlayerBridge.
This only works if their java player is a subclass of Android MediaPlayer class, which is not necessary in some cases.
Additionally, we are not going to use any subclass of android MediaPlayer for MSE implementation
As a result, this change introduces a super class for all the media player implementations.
BUG=233420
R=scherkus@chromium.org, ycheo@chromium.org, yfriedman@chromium.org
Review URL: https://codereview.chromium.org/
14762006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198957
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Wed, 8 May 2013 16:41:25 +0000 (16:41 +0000)]
Revert 198921 "Add FakeDemuxerStream."
> Add FakeDemuxerStream.
>
> FakeVideoDecoder will be added later. Hopefully these will make tests in
> VideoFrameStream cleaner.
>
> BUG=141788
> R=scherkus@chromium.org
>
> Review URL: https://codereview.chromium.org/
13947052
TBR=xhwang@chromium.org
Review URL: https://codereview.chromium.org/
14756015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198925
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Wed, 8 May 2013 16:23:05 +0000 (16:23 +0000)]
Revert 198760 "Remove reference counting from media::Pipeline."
> Remove reference counting from media::Pipeline.
>
> BUG=173313
> R=acolwell@chromium.org
>
> Review URL: https://codereview.chromium.org/
14371023
BUG=238908
TBR=scherkus@chromium.org
Review URL: https://codereview.chromium.org/
14972012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198922
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Wed, 8 May 2013 16:22:56 +0000 (16:22 +0000)]
Add FakeDemuxerStream.
FakeVideoDecoder will be added later. Hopefully these will make tests in
VideoFrameStream cleaner.
BUG=141788
R=scherkus@chromium.org
Review URL: https://codereview.chromium.org/
13947052
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198921
0039d316-1c4b-4281-b951-
d872f2087c98
dbeam@chromium.org [Wed, 8 May 2013 05:46:20 +0000 (05:46 +0000)]
Revert 198820 "Move FileEnumerator to its own file, do some refa..."
Broke both windows clobber and official builders' compile with this error:
771>Link:
771> Creating library ..\..\..\build\Release\lib\gcp_portmon64.lib and
object ..\..\..\build\Release\lib\gcp_portmon64.exp
771>base.lib(path_service.obj) : fatalerror LNK1112: module machine type 'X86'
conflicts with target machine type 'x64'
771>
771>Build FAILED.
> Move FileEnumerator to its own file, do some refactoring.
>
> It creates a class FileInfo to contain the details rather than using a platform-specific typedef. This allows the accessors GetName, GetSize, etc. to be moved directly to this class (previously they were static helpers on the FileEnumerator class) which makes a bunch of code much cleaner. It also gives reasonable getting and initialization which the previous version lacked.
>
> BUG=175002
> R=rvargas@chromium.org
>
> Review URL: https://codereview.chromium.org/
13165005
TBR=brettw@chromium.org
Review URL: https://codereview.chromium.org/
14824006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198850
0039d316-1c4b-4281-b951-
d872f2087c98
dbeam@chromium.org [Wed, 8 May 2013 05:35:24 +0000 (05:35 +0000)]
Revert 198844 "Move sequenced_task_runner to base/task"
Reverting revisions that rely on r198820 so to unbreak the build.
> Move sequenced_task_runner to base/task
>
> BUG=
> R=akalin@chromium.org
>
> Review URL: https://codereview.chromium.org/
14927008
TBR=brettw@chromium.org
Review URL: https://codereview.chromium.org/
14985007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198848
0039d316-1c4b-4281-b951-
d872f2087c98
brettw@chromium.org [Wed, 8 May 2013 04:14:58 +0000 (04:14 +0000)]
Move sequenced_task_runner to base/task
BUG=
R=akalin@chromium.org
Review URL: https://codereview.chromium.org/
14927008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198844
0039d316-1c4b-4281-b951-
d872f2087c98
brettw@chromium.org [Tue, 7 May 2013 22:51:31 +0000 (22:51 +0000)]
Move FileEnumerator to its own file, do some refactoring.
It creates a class FileInfo to contain the details rather than using a platform-specific typedef. This allows the accessors GetName, GetSize, etc. to be moved directly to this class (previously they were static helpers on the FileEnumerator class) which makes a bunch of code much cleaner. It also gives reasonable getting and initialization which the previous version lacked.
BUG=175002
R=rvargas@chromium.org
Review URL: https://codereview.chromium.org/
13165005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198820
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Tue, 7 May 2013 17:43:28 +0000 (17:43 +0000)]
Remove reference counting from media::Pipeline.
BUG=173313
R=acolwell@chromium.org
Review URL: https://codereview.chromium.org/
14371023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198760
0039d316-1c4b-4281-b951-
d872f2087c98
phajdan.jr@chromium.org [Tue, 7 May 2013 16:59:00 +0000 (16:59 +0000)]
Remove use_system_ffmpeg-related logic from media and other mainline gyp files.
BUG=226860
R=fischman@chromium.org
Review URL: https://codereview.chromium.org/
14659007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198746
0039d316-1c4b-4281-b951-
d872f2087c98
qinmin@chromium.org [Tue, 7 May 2013 06:24:48 +0000 (06:24 +0000)]
Allow extra codec data to be passed to AudioCodecBridge
Android MediaCodec needs vorbis codec data to work properly.
Passing the extra codec data from ChunkDemuxer should fix the problem.
BUG=233420
Review URL: https://chromiumcodereview.appspot.com/
14957003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198650
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@chromium.org [Mon, 6 May 2013 22:55:21 +0000 (22:55 +0000)]
Remove function level static initializers media library initialization.
Moves media library initialization into a lazy initializer and dedups a
bunch of code. This will also be the eventual home for global media
initialization routines (YUV and VectorMath).
BUG=224662
TEST=compiles, media library works.
Review URL: https://chromiumcodereview.appspot.com/
14891002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198559
0039d316-1c4b-4281-b951-
d872f2087c98
crogers@google.com [Mon, 6 May 2013 21:12:34 +0000 (21:12 +0000)]
Avoid crash when changing sample-rates using live audio input
BUG=155940
R=dalecurtis@chromium.org
Review URL: https://codereview.chromium.org/
14682018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198535
0039d316-1c4b-4281-b951-
d872f2087c98
crogers@google.com [Mon, 6 May 2013 21:07:53 +0000 (21:07 +0000)]
Make sure not to use aggregate devices if sample-rates of input and output devices don't match
We currently check the "clock domains" to decide whether to create and use an aggregate device.
It turns out that devices with the same "clock domain" can still be set at different sample-rates,
and special care (extra properties must be set) must be taken to setup the aggregate device properly in that case.
For the time being avoid using an aggregate device and fallback to the synchronized path here.
BUG=none
TEST=manual testing with various combinations of sample-rate with several devices
R=dalecurtis@chromium.org
Review URL: https://codereview.chromium.org/
14573005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198532
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Mon, 6 May 2013 12:14:09 +0000 (12:14 +0000)]
Fail gracefully when converting corrupted H.264 packets.
Regardless of where the corruption is coming from we shouldn't crash when parsing a funky bitstream.
BUG=234449
Review URL: https://chromiumcodereview.appspot.com/
14956002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198419
0039d316-1c4b-4281-b951-
d872f2087c98
changbin.shao@intel.com [Sat, 4 May 2013 14:06:59 +0000 (14:06 +0000)]
Limit the rate to send media log events over IPC.
Some media events e.g. BufferedExtentsChanged update quite often, this causes heavy IPC traffic for CPU. In the meantime, chrome://media-internals doesn't need to update data in such a high frequency. Use array to send these events every 1 second.
BUG=235096
Review URL: https://chromiumcodereview.appspot.com/
14146018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198314
0039d316-1c4b-4281-b951-
d872f2087c98
tomfinegan@chromium.org [Sat, 4 May 2013 14:06:36 +0000 (14:06 +0000)]
media: Enable VP9 tests.
BUG=173333,180280
TEST=Running media_unittests with filter=*VP9* succeeds.
Review URL: https://chromiumcodereview.appspot.com/
14137023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198313
0039d316-1c4b-4281-b951-
d872f2087c98
acolwell@chromium.org [Sat, 4 May 2013 05:04:03 +0000 (05:04 +0000)]
Fix SourceBufferStream to allow audio buffers with the same timestamp.
BUG=227417
TEST=SourceBufferStreamTest.SameTimestamp_Audio, SourceBufferStreamTest.SameTimestamp_Audio_Invalid_1
Review URL: https://chromiumcodereview.appspot.com/
14910006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198293
0039d316-1c4b-4281-b951-
d872f2087c98
changbin.shao@intel.com [Sat, 4 May 2013 00:34:45 +0000 (00:34 +0000)]
Use int64 for media buffer change events and send as double type.
Data overflow happens when chrome://media-internals displays some big integers, such as buffer_start, buffer_end. To solve this issue, use int64 type to store and send these media parameters as double type.
Review URL: https://chromiumcodereview.appspot.com/
14113056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198263
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Fri, 3 May 2013 23:17:22 +0000 (23:17 +0000)]
Add --enable-bitstream-converter to media/tools/demuxer_bench.
Not only am I interested in measuring the overhead of bitstream conversion, it also makes for a very easy way to reproduce the CHECK() for bug 234449.
Finally, converted a few scoped_ptr<T> to T now that less of our code relies on RefCountedThreadSafe.
BUG=234449
R=dalecurtis@chromium.org
Review URL: https://codereview.chromium.org/
14736006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198231
0039d316-1c4b-4281-b951-
d872f2087c98
tomfinegan@chromium.org [Fri, 3 May 2013 23:04:43 +0000 (23:04 +0000)]
Update VP9 test files to the latest codec bitstream.
TBR=scherkus
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/
14952002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198223
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Fri, 3 May 2013 19:54:02 +0000 (19:54 +0000)]
Remove a bunch of old media switches.
Audio fallback and audio output resampler have been enabled since
M23, there's no need for these switches anymore. Anyone who still
needs WaveOut on Vista, 7+ can use --force-wave-out.
Audio renderer mixing has been enabled since M26 without issue, so
it can also be removed.
Audio mixer no longer exists and thus should be removed.
BUG=173435
TEST=compiles
R=jamesr@chromium.org, scherkus@chromium.org, sky@chromium.org, yzshen@chromium.org
Review URL: https://codereview.chromium.org/
14858013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198173
0039d316-1c4b-4281-b951-
d872f2087c98
rtoy@google.com [Fri, 3 May 2013 01:58:12 +0000 (01:58 +0000)]
Handle decoding of vorbis files better on Android
BUG=227144
Send the data size to MediaCodec so we can get the duration length for ogg/vorbis files correctly instead of returning a huge number. With this information, we no longer need the is_vorbis flag since the duration is now correct, so we remove that code as well.
Review URL: https://chromiumcodereview.appspot.com/
14522002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@198029
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Thu, 2 May 2013 22:03:05 +0000 (22:03 +0000)]
Fix missing virtual keyword in BoxReaderTest.
BUG=none
TEST=compiles
R=ddorwin@chromium.org
Review URL: https://codereview.chromium.org/
14608003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197982
0039d316-1c4b-4281-b951-
d872f2087c98
ycheo@chromium.org [Thu, 2 May 2013 07:25:48 +0000 (07:25 +0000)]
Limit the source buffer size in TV.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14731005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197850
0039d316-1c4b-4281-b951-
d872f2087c98
qinmin@chromium.org [Thu, 2 May 2013 03:18:40 +0000 (03:18 +0000)]
Subclass MediaCodecBridge into AudioCodecBridge and VideoCodecBridge
Having a mixed MediaCodecBridge is not very clear.
For example, how can I call StartVideo() if the codec is created as an AudioCodecBridge.
Also, this change removes the extra enums defined in MediaCodecBridge.
We should use the enums in audio_decoder_config.h and video_decoder_config.h
Review URL: https://chromiumcodereview.appspot.com/
14604002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197797
0039d316-1c4b-4281-b951-
d872f2087c98
ihf@chromium.org [Thu, 2 May 2013 02:15:05 +0000 (02:15 +0000)]
Collect UMA stats for ppapi hardware video decode.
The values are in particular
Media.PepperVideoDecoderPictureCount Number of requested PictureBuffers.
Media.PepperVideoDecoderPictureHeight Height of picture.
Media.PepperVideoDecoderError Decoder NotifyError code.
BUG=chromium:217356
Review URL: https://chromiumcodereview.appspot.com/
14184005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197785
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Wed, 1 May 2013 20:17:02 +0000 (20:17 +0000)]
Track ARI sink state separate from ARI state.
Due to how SetPlaybackRate() was implemented it was possible for
the sink state to be "paused" while the ARI state is "playing."
This leads to duplicate Play() and Pause() calls when playback
rate changes occur. Compounding this is the fact that Pipeline
doesn't have a concept of "Pause" it merely sets playback rate to
zero.
I also fixed these additional issues:
- Duplicate Pause() calls when in Preroll().
- Removed the return of muted data on non-playing states during
Render(). Now handled implicitly by FromInterleaved and later
by AudioRendererMixer.
Found by new DCHECKs in https://codereview.chromium.org/
14256009/
BUG=none
TEST=media_unittests, layout tests.
R=acolwell@chromium.org
Review URL: https://codereview.chromium.org/
14696004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197701
0039d316-1c4b-4281-b951-
d872f2087c98
qinmin@chromium.org [Wed, 1 May 2013 16:09:01 +0000 (16:09 +0000)]
Rename MediaPlayerBridgeManager to MediaPlayerManager
To support MediaSource, i am planning to introduce MediaSourceBridge on android.
Both MediaSourceBridge and MediaPlayerBridge will inherit from a common class: MediaPlayerAndroid.
As a result of this plan, MediaPlayerBridgeManager is no longer a good name for this common class.
This CL includes the following changes:
1. rename MediaPlayerBridgeManager to MediaPlayerManager, and MediaPlayerManagerAndroid to MediaPlayerManagerImpl.
2. remove MediaPlayerBridgeManagerImpl as it is no longer being used.
3. MediaResouceGetter is now owned by MediaPlayerManagerImpl.
so we no longer need to create a separate MediaResourceGetter for each player.
BUG=233420
R=jam@chromium.org, scherkus@chromium.org, yfriedman@chromium.org
Review URL: https://codereview.chromium.org/
14314020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197626
0039d316-1c4b-4281-b951-
d872f2087c98
ycheo@chromium.org [Wed, 1 May 2013 12:42:21 +0000 (12:42 +0000)]
Support EAC3 (Dolby Digital Plus) codec
BUG=215773
Review URL: https://chromiumcodereview.appspot.com/
14641006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197602
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Wed, 1 May 2013 00:11:41 +0000 (00:11 +0000)]
Refactor AudioRendererMixer to be more generic.
AudioRendererMixer will now work with arbitrary
AudioConverter::InputCallbacks. Its main value is as a go between
for AudioRendererSink::RenderCallbacks to a single AudioRendererSink.
This refactoring allows WebRTC to reuse the AudioRendererMixer
infrastructure without forking out the ARMM and ARM modules.
BUG=234580
TEST=media_unittests
R=xians@chromium.org
Review URL: https://codereview.chromium.org/
14358049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197522
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Tue, 30 Apr 2013 17:29:42 +0000 (17:29 +0000)]
Remove upcasting from AudioBus interleave methods where possible.
Upcasting isn't necessary without a bias since the overflow
check is performed on the float value.
No change on x86, but avoids using int64 types on arm which makes
the new methods 3x faster for int32 ToInterleave. Also fixes a
sign bug which never manifested as a problem due to overflow.
For reference, in aggregate, Daisy is only 3x slower than my Z620,
which isn't too shabby.
BUG=none
TEST=media_unittests --gtest_filter=AudioBus* --gtest_also_run_disabled_tests
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=196946
R=acolwell@chromium.org
Review URL: https://codereview.chromium.org/
13868019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197397
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Tue, 30 Apr 2013 01:00:23 +0000 (01:00 +0000)]
C++ readability review for dalecurtis.
AudioConverter is a tool for mixing and converting audio data from
one format to another; differences may include sample rates, channel
layout, and buffer size.
AudioConverter is the work horse behind several Chrome features:
- Allows mixing and conversion of HTML5 audio streams for thread savings:
https://code.google.com/p/chromium/codesearch#chromium/src/media/base/audio_renderer_mixer.cc
- Allows Pepper clients (like Flash) to be oblivious of hardware requirements:
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/audio_output_resampler.cc
- Tab Audio Mirroring:
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/virtual_audio_input_stream.cc
Original CL for context: https://codereview.chromium.org/
11410012/
R=fischman@chromium.org, lmendes@google.com
Review URL: https://codereview.chromium.org/
12670011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@197197
0039d316-1c4b-4281-b951-
d872f2087c98
qinmin@chromium.org [Sat, 27 Apr 2013 20:45:42 +0000 (20:45 +0000)]
Enable MSE for TV
BUG=215275
R=acolwell@chromium.org, jamesr@chromium.org, palmer@chromium.org, qinmin@chromium.org, yfriedman@chromium.org
Review URL: https://codereview.chromium.org/
14341010
Patch from Yuncheol Heo <ycheo@chromium.org>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196968
0039d316-1c4b-4281-b951-
d872f2087c98
pfeldman@chromium.org [Sat, 27 Apr 2013 06:13:08 +0000 (06:13 +0000)]
(view as text)
AudioBusTest.ToInterleaved:
c:\b\build\slave\cr-win-rel-x64\build\src\media\base\audio_bus_unittest.cc(357): error: Value of: 0
Expected: memcmp( test_array, kTestVectorInt32, sizeof(kTestVectorInt32))
Which is: -1
Google Test trace:
c:\b\build\slave\cr-win-rel-x64\build\src\media\base\audio_bus_unittest.cc(353): int32
TBR=dalecurtis
Review URL: https://codereview.chromium.org/
14314027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196950
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@chromium.org [Sat, 27 Apr 2013 05:05:51 +0000 (05:05 +0000)]
Remove upcasting from AudioBus interleave methods where possible.
Upcasting isn't necessary without a bias since the overflow
check is performed on the float value.
No change on x86, but avoids using int64 types on arm which makes
the new methods 3x faster for int32 ToInterleave. Also fixes a
sign bug which never manifested as a problem due to overflow.
For reference, in aggregate, Daisy is only 3x slower than my Z620,
which isn't too shabby.
BUG=none
TEST=media_unittests --gtest_filter=AudioBus* --gtest_also_run_disabled_tests
Review URL: https://chromiumcodereview.appspot.com/
13868019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196946
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Sat, 27 Apr 2013 00:03:54 +0000 (00:03 +0000)]
Make more VideoDecoders reinitializable.
This follows r196424. All video decoders except for GpuVideoDecoder are
reinitializable.
BUG=233608, 141788
TEST=Updated media_unittests.
Review URL: https://chromiumcodereview.appspot.com/
14256013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196890
0039d316-1c4b-4281-b951-
d872f2087c98
yfriedman@chromium.org [Fri, 26 Apr 2013 22:59:08 +0000 (22:59 +0000)]
Replace myself with Min for media/android/OWNERS
He's better-suited to review this code.
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/
14314018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196868
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Fri, 26 Apr 2013 18:39:59 +0000 (18:39 +0000)]
Remove reference counting from media::DataSource and friends.
BUG=173313
Review URL: https://codereview.chromium.org/
14503002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196789
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Fri, 26 Apr 2013 18:12:10 +0000 (18:12 +0000)]
Delete media::PipelineStatusNotification as it isn't used in production code.
The existing use in player_x11 is replaced by a base::WaitableEvent.
Review URL: https://codereview.chromium.org/
14371024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196778
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Thu, 25 Apr 2013 23:51:41 +0000 (23:51 +0000)]
Introduce TestVideoConfig class.
We have a lot of cases where we need some pre-canned VideoDecoderConfig for
testing purposes. In these tests, we only care about general categories of the
video configs (e.g. validity, config change and encryption) rather than details
like visible rect and extra data. The new TestVideoConfig class serves
this purpose.
TEST=Unittests still pass.
Review URL: https://chromiumcodereview.appspot.com/
14238019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196543
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Thu, 25 Apr 2013 20:24:39 +0000 (20:24 +0000)]
Revert 195111 "Expose MEDIA_STATISTICS stats to chrome://media-i..."
> Expose MEDIA_STATISTICS stats to chrome://media-internals.
>
> Introduce MEDIA_STATISTICS parameters, such as decodedVideoFrameCount and friends, to chrome://media-internals properties.
>
> BUG=178563
>
> Review URL: https://chromiumcodereview.appspot.com/
13870004
The high frequency nature of the events caused a CPU% increase: http://crbug.com/234377
Reverting until rate limiting is implemented: http://crbug.com/235096
BUG=234377
TBR=changbin.shao@intel.com
Review URL: https://codereview.chromium.org/
13896027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196478
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Thu, 25 Apr 2013 18:29:28 +0000 (18:29 +0000)]
Add Media.AudioRendererEvents histogram to measure how often OnRenderError() is called.
BUG=234708
Review URL: https://codereview.chromium.org/
14054019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196442
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Thu, 25 Apr 2013 17:13:11 +0000 (17:13 +0000)]
Make FFmpegVideoDecoder reinitializable.
This is required to handle config change in VideoFrameStream. VideoFrameStream
will flush the decoder and reinitializes the VideoDecoder with the new config
upon config change.
BUG=233608,141788
TEST=Updated unittests to test reinitialization.
Review URL: https://chromiumcodereview.appspot.com/
14189027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196424
0039d316-1c4b-4281-b951-
d872f2087c98
miu@chromium.org [Thu, 25 Apr 2013 10:16:14 +0000 (10:16 +0000)]
Disable timer check for no data in AudioInputController for mirroring.
In very rare cases (i.e., hard to repro), the "no data" timer in AudioInputController discovers that over one second has elapsed between calls to OnData(). It interprets this as a failure of the platform to report an error or a device close event (see bug 79936). However, for the audio mirroring use case, it's plausible that in poor-performing circumstances audio output can be delayed, which will then cause delays as it is looped-back into the mirrored input stream.
Example sequence of events leading to failure:
1. Mirroring input stream asks AudioConverter for more data.
2. AudioConverter blocks (up to 683 ms) waiting to pull in audio output data.
3. Audio output data is provided after 600 ms.
4. AudioConverter consumes the data, but it is not enough to fill the buffer. So, it asks AudioConverter for more data.
5. Repeat steps 2 and 3.
6. By now, more than 1 second has elapsed since step 1, and the "no data" timer in AudioInputController error's-out the stream.
7. Sadness.
BUG=230972
Review URL: https://chromiumcodereview.appspot.com/
14494002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196379
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Thu, 25 Apr 2013 08:51:47 +0000 (08:51 +0000)]
Remove reference counting from media::DemuxerStream and friends.
BUG=173313
Review URL: https://chromiumcodereview.appspot.com/
14217008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196365
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Thu, 25 Apr 2013 06:04:10 +0000 (06:04 +0000)]
Add kError to various VideoDecoder implementations.
Currently in FFmpegVideoDecoder, DecryptingVideoDecoder and VpxVideoDecoder,
kDecodeFinished has two meanings:
1) Received EOS from demuxer stream and decoder finished flushing.
2) Unexpected error occurred.
This CL introduces a new state: kError, to avoid the ambiguity. The
decoder is set to kError state whenever an error occurred. Any read
when the decoder is in kError state will result in kDecodeError.
Also replace GpuVideoDecoder::error_occurred_ with kError for consistency.
BUG=141788
TEST=All current unittests pass. Updated unittests.
Review URL: https://codereview.chromium.org/
12668025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196335
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Thu, 25 Apr 2013 01:15:52 +0000 (01:15 +0000)]
MockDemuxerStream keeps audio/video decoder configs.
TEST=media_unittests pass.
Review URL: https://chromiumcodereview.appspot.com/
13936006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196281
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@chromium.org [Thu, 25 Apr 2013 00:24:50 +0000 (00:24 +0000)]
CHECK for adding duplicate converter inputs.
CHECK to see if we're getting into weird states due to inputs
being added twice.
BUG=233026
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
14083011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196271
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Wed, 24 Apr 2013 20:45:16 +0000 (20:45 +0000)]
media: Remove use of ALLOW_THIS_IN_INITIALIZER_LIST.
It's no longer providing value as the MSVC warning is disabled during compilation. Refer to bug for details.
BUG=234765
Review URL: https://chromiumcodereview.appspot.com/
13843027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@196227
0039d316-1c4b-4281-b951-
d872f2087c98
phajdan.jr@chromium.org [Tue, 23 Apr 2013 22:28:01 +0000 (22:28 +0000)]
media: use AVCodecID instead of deprecated CodecID
BUG=none
Review URL: https://codereview.chromium.org/
13858004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195923
0039d316-1c4b-4281-b951-
d872f2087c98
sergeyu@chromium.org [Tue, 23 Apr 2013 19:57:36 +0000 (19:57 +0000)]
Simplify ScreenCapturer interface.
Removed Stop() and InvalidateRegion() from ScreenCapturer interface.
Review URL: https://codereview.chromium.org/
14305004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195887
0039d316-1c4b-4281-b951-
d872f2087c98
erg@chromium.org [Tue, 23 Apr 2013 19:27:50 +0000 (19:27 +0000)]
Cleanup: Remove unnecessary ".get()" from scoped_ptrs<>.
In r174057, enne@ added support for implicit testing to scoped_ptr<>. Removes
these in media/.
BUG=232084
Review URL: https://chromiumcodereview.appspot.com/
13870018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195875
0039d316-1c4b-4281-b951-
d872f2087c98
dalecurtis@google.com [Tue, 23 Apr 2013 18:39:48 +0000 (18:39 +0000)]
Add NEON optimizations for FMAC and FMUL.
Benchmarks show a 2.60x and 2.77x speedup for FMAC and FMUL
respectively.
BUG=none
TEST=media_unittests
Review URL: https://codereview.chromium.org/
14188032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195855
0039d316-1c4b-4281-b951-
d872f2087c98
steveblock@chromium.org [Tue, 23 Apr 2013 05:08:11 +0000 (05:08 +0000)]
Fix test_expectations_history.py to avoid writing intermediates to local directory
Instead use mkdtemp().
TEST=python media/tools/layout_tests/test_expectations_history_unittest.py
Review URL: https://codereview.chromium.org/
14323007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195713
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Tue, 23 Apr 2013 01:07:08 +0000 (01:07 +0000)]
Add CHECK() to prevent underflow in media::H264ToAnnexBBitstreamConverter::CalculateNeededOutputBufferSize().
Will handle gracefully after we get some more information on when these types of scenarios happen.
BUG=234449
Review URL: https://codereview.chromium.org/
14340009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195678
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Mon, 22 Apr 2013 22:40:03 +0000 (22:40 +0000)]
Use base::MessageLoop in media code.
MessageLoop is moved to base namespace in r191566. This CL is the followup
cleanup in media code.
The following folders are replaced:
chrome/browser/media
content/browser/renderer_host/media
content/common/gpu/media
content/common/media
content/renderer/media
media
webkit/media
The following command is used to make sure all instances in these folders are updated:
grep -rin '[^a-zA-Z]MessageLoop[^a-zA-Z]' media chrome/browser/media content/browser/renderer_host/media content/common/gpu/media content/common/media content/renderer/media webkit/media | grep -v 'base::MessageLoop' | grep -v 'class MessageLoop'
Review URL: https://chromiumcodereview.appspot.com/
14385002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195626
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Mon, 22 Apr 2013 17:39:24 +0000 (17:39 +0000)]
Remove obsolete comment in DecryptingVideoDecoder.
TBR=ddorwin@chromium.org
Review URL: https://codereview.chromium.org/
14402017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195544
0039d316-1c4b-4281-b951-
d872f2087c98
wez@chromium.org [Mon, 22 Apr 2013 15:46:14 +0000 (15:46 +0000)]
Fix ScreenCapturerMacTest to pass on high-DPI hosts
BUG=233395
Review URL: https://chromiumcodereview.appspot.com/
14192011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195510
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Mon, 22 Apr 2013 04:03:38 +0000 (04:03 +0000)]
Remove reference counting from media::Demuxer and friends.
In addition:
* Pipeline no longer owns the demuxer; clients are required to own it and keep it alive until Pipeline::Stop() completes.
BUG=173313
Review URL: https://codereview.chromium.org/
13813016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195437
0039d316-1c4b-4281-b951-
d872f2087c98
vigneshv@chromium.org [Fri, 19 Apr 2013 23:43:32 +0000 (23:43 +0000)]
media: Add support for playback of VP8 Alpha video streams
BUG=147355
TEST=VP8 Alpha video streams play
TBR=sky
Review URL: https://chromiumcodereview.appspot.com/
13886011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195339
0039d316-1c4b-4281-b951-
d872f2087c98
petarj@mips.com [Fri, 19 Apr 2013 22:05:42 +0000 (22:05 +0000)]
[MIPS] Disable RGB32ToYUV_SSE2_MatchReference test for MIPS arch
The test is not applicable for MIPS architecture.
BUG= https://code.google.com/p/chromium/issues/detail?id=130022
TEST= Unit test
Review URL: https://chromiumcodereview.appspot.com/
14017018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195305
0039d316-1c4b-4281-b951-
d872f2087c98
jrummell@chromium.org [Fri, 19 Apr 2013 18:45:45 +0000 (18:45 +0000)]
Add UMA tracing for unsupported codecs
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13493018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195247
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Fri, 19 Apr 2013 15:28:33 +0000 (15:28 +0000)]
Reland: Remove reference counting from media::VideoDecoder and friends.
In addition:
* VideoRenderer is now passed a list of decoders via constructor instead of Initialize()
* WebMediaPlayerImpl's FilterCollection is now built in one shot instead of incrementally
BUG=173313
Review URL: https://chromiumcodereview.appspot.com/
14348007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195212
0039d316-1c4b-4281-b951-
d872f2087c98
braveyao@chromium.org [Fri, 19 Apr 2013 13:06:56 +0000 (13:06 +0000)]
Linux video capture, invoking mmap() with both READ and WRITE.
BUG=178582
TEST=media_unittests
Review URL: https://chromiumcodereview.appspot.com/
14265002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195150
0039d316-1c4b-4281-b951-
d872f2087c98
changbin.shao@intel.com [Fri, 19 Apr 2013 08:50:01 +0000 (08:50 +0000)]
Expose MEDIA_STATISTICS stats to chrome://media-internals.
Introduce MEDIA_STATISTICS parameters, such as decodedVideoFrameCount and friends, to chrome://media-internals properties.
BUG=178563
Review URL: https://chromiumcodereview.appspot.com/
13870004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195111
0039d316-1c4b-4281-b951-
d872f2087c98
rnk@chromium.org [Fri, 19 Apr 2013 03:07:07 +0000 (03:07 +0000)]
Fix Clang errors in the Windows screen capture code
"and" and "xor" are alternate spellings of the "&&" and "^" operators,
and clang doesn't like it if you use them as identifiers.
Clang also doesn't like static_cast<> from void * to a function pointer,
but reinterpret_cast<> works.
R=alexeypa@chromium.org
BUG=82385
Review URL: https://chromiumcodereview.appspot.com/
13852007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195057
0039d316-1c4b-4281-b951-
d872f2087c98
scherkus@chromium.org [Thu, 18 Apr 2013 22:03:48 +0000 (22:03 +0000)]
Revert 194993 "Remove reference counting from media::VideoDecode..."
> Remove reference counting from media::VideoDecoder and friends.
>
> In addition:
> * VideoRenderer is now passed a list of decoders via constructor instead of Initialize()
> * WebMediaPlayerImpl's FilterCollection is now built in one shot instead of incrementally
>
> BUG=173313
>
> Review URL: https://codereview.chromium.org/
12989009
TBR=scherkus@chromium.org
Review URL: https://codereview.chromium.org/
14320005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195013
0039d316-1c4b-4281-b951-
d872f2087c98
phajdan.jr@chromium.org [Thu, 18 Apr 2013 21:05:03 +0000 (21:05 +0000)]
Linux: make it possible to compile against libav when use_system_ffmpeg==1
libav's AVFrame doesn't have channels field.
BUG=none
Review URL: https://codereview.chromium.org/
13991013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@195001
0039d316-1c4b-4281-b951-
d872f2087c98
xhwang@chromium.org [Thu, 18 Apr 2013 20:48:42 +0000 (20:48 +0000)]
Clear obsolete comment in GpuVideoDecoder.
Review URL: https://codereview.chromium.org/
14002006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src/media@194998
0039d316-1c4b-4281-b951-
d872f2087c98