| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
decoders and demuxers.
Reverting so I can fix TSAN errors.
TEST=PipelineIntegrationTest
Review URL: http://codereview.chromium.org/8968035
TBR=acolwell@chromium.org
Review URL: http://codereview.chromium.org/9094002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116375 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
demuxers.
TEST=PipelineIntegrationTest
Review URL: http://codereview.chromium.org/8968035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116349 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
As a result, many of the existing VideoRendererBase subclasses have been simplified or even removed entirely.
BUG=28208
Review URL: http://codereview.chromium.org/8999029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115583 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no reason to have 2 derived classes of AudioRendererAlgorithmBase.
This CL deletes the derived classes and pushes the behavior into the base
class. It shouldn't change any existing logic; should be just pushing
things around.
BUG=106492
TEST=media_unittests
Review URL: http://codereview.chromium.org/8879041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115006 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TBR=jennb@chromium.org
Review URL: http://codereview.chromium.org/8970030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114828 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DemuxerHost & DataSourceHost.
Over the last year, several refactorings have caused DataSource to have almost nothing in common with the Filter interface. This change removes it from the Filter class hierarchy and splits up the FilterHost interface so that DataSource, Demuxer, and Filter have their own host interfaces. Splitting FilterHost improves encapsulation and makes it easier to reason about which host methods are required by different parts of the code.
BUG=
TEST=media_unittests
Review URL: http://codereview.chromium.org/8936014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114819 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=media_unittests --gtest_filter=AudioLowLatencyInputOutputTest*
Review URL: http://codereview.chromium.org/8840004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114423 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The decoder relies on ffmpeg as a fall-back for video decoding when
the GPU isn't able to process the video, while ffmpeg may not be available.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8933030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114421 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the GpuVideoDecodeAccelerator machinery (already written to enable
ppapi to take advantage of OpenMAX HW where available) to decode <video> data.
This increases idle CPU from 20% to 45% on one particularly large (internal)
test video (red0.mp4), on an ARM crosbook.
HW decode is done on a best-effort basis; if the GPU code doesn't know how to
deal with a codec/profile we still fall back to ffmpeg for decode. Because the
vast majority of chrome installs will be on HW with no video decode support
(yet) we only attempt HW video decode on platforms we know have a shot at it.
This is a copy of http://codereview.chromium.org/8686010/ PS#13 to work around
rietveld losing the "status" for some files in the patch.
BUG=104579
TEST=manual testing w/ video test matrix, trybots.
Review URL: http://codereview.chromium.org/8922010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114183 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=104160
TEST=Covered by ChunkDemuxer unittests.
Review URL: http://codereview.chromium.org/8775035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114163 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=104160
TEST=Covered by ChunkDemuxer unittests.
Review URL: http://codereview.chromium.org/8775035
TBR=acolwell@chromium.org
Review URL: http://codereview.chromium.org/8921010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114033 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=104160
TEST=Covered by ChunkDemuxer unittests.
Review URL: http://codereview.chromium.org/8775035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114030 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the GpuVideoDecodeAccelerator machinery (already written to enable
ppapi to take advantage of OpenMAX HW where available) to decode <video> data.
This increases idle CPU from 20% to 45% on one particularly large (internal)
test video (red0.mp4), on an ARM crosbook.
HW decode is done on a best-effort basis; if the GPU code doesn't know how to
deal with a codec/profile we still fall back to ffmpeg for decode. Because the
vast majority of chrome installs will be on HW with no video decode support
(yet) we only attempt HW video decode on platforms we know have a shot at it.
BUG=104579
TEST=manual testing w/ video test matrix, trybots.
Review URL: http://codereview.chromium.org/8686010
TBR=fischman@chromium.org
Review URL: http://codereview.chromium.org/8897022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113908 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the GpuVideoDecodeAccelerator machinery (already written to enable
ppapi to take advantage of OpenMAX HW where available) to decode <video> data.
This increases idle CPU from 20% to 45% on one particularly large (internal)
test video (red0.mp4), on an ARM crosbook.
HW decode is done on a best-effort basis; if the GPU code doesn't know how to
deal with a codec/profile we still fall back to ffmpeg for decode. Because the
vast majority of chrome installs will be on HW with no video decode support
(yet) we only attempt HW video decode on platforms we know have a shot at it.
BUG=104579
TEST=manual testing w/ video test matrix, trybots.
Review URL: http://codereview.chromium.org/8686010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113895 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
VideoDecodeEngine.
Review URL: http://codereview.chromium.org/8772069
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113358 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This CL makes media_unittests linked.
- The audio_track_output_stub_android.cc is in place of
audio_track_output_android.cc because the Java environment is not
avaliable yet.
- Also changed to dependence on '../third_party/ffmpeg/ffmpeg.gyp'
only if os is not Android in media.gyp.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8718014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112739 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example output (two devices found on Windows 7 machine):
device_name: Microphone (6- SB Arena Headset)
unique_id: {0.0.1.00000000}.{24515814-26fd-4382-b4bc-0a8d847ed853}
device_name: Microphone (Realtek High Definition Audio)
unique_id: {0.0.1.00000000}.{8db6020f-18e3-4f25-b6f5-7726c9122574}
BUG=None
TEST=audio_input_device_unittest.cc
Review URL: http://codereview.chromium.org/8606006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111500 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this CL, the browser fires the canplaythrough event based on an
approximation of the download speed of the media instead of firing the
event right away.
BUG=73609
TEST=NONE
Review URL: http://codereview.chromium.org/8399023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110733 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This time without breaking the windows build!
Patch by robert.nagy@gmail.com:
http://codereview.chromium.org/8499029/
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110629 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
support on OpenBSD.
Patch by robert.nagy@gmail.com:
http://codereview.chromium.org/8499029/
TBR=scherkus@chromium.org
Review URL: http://codereview.chromium.org/8590045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110590 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Patch by robert.nagy@gmail.com:
http://codereview.chromium.org/8499029/
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110584 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=audio_low_latency_output_win_unittest.cc
Review URL: http://codereview.chromium.org/8440002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110282 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although I plan to remove VideoDecodeEngine entirely it requires detangling some of the code first.
Other noteworthy changes:
- It's no longer valid to call VideoFrameReady(NULL), instead FFmpegVideoDecoder will raise an error the moment it finds one
- Buffer recycling has been vanquished (for now), with video frames always allocated in the decoder
- Produce/ConsumeVideoFrame() has been replaced by Read()
- Video decode byte statistics are only updated if more than 0 bytes were decoded
- FFmpegVideoDecodeEngine no longer attempts to preroll
Review URL: http://codereview.chromium.org/8417019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108612 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CL 8162015 failed the trybot and was reverted.
But I could not reproduce the issue in my local machine, so I just make a new CL and test it on trybot again.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8361031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107842 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/8417016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107796 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=
Review URL: http://codereview.chromium.org/8394002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107185 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Requires Windows Vista or higher.
BUG=none
TEST=Attached unit test (requires undefined CHROME_HEADLESS)
Review URL: http://codereview.chromium.org/8283032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106899 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sync the dummy OpenBSD audio manager and exclude -mssse3 from
cflags on OpenBSD since it's not supported in the used gcc version.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8329024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106590 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will loop through the soundcard and return a list of available devices when the AudioInputDeviceManager does the device enumeration.
Previously, only default device will be returned.
Reverted because this CL caused the Linux/Windows (shared) builds to fail.
Review URL: http://codereview.chromium.org/8162015
TBR=xians@chromium.org
Review URL: http://codereview.chromium.org/8362004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106517 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This patch will loop through the soundcard and return a list of available devices when the AudioInputDeviceManager does the device enumeration.
Previously, only default device will be returned.
Review URL: http://codereview.chromium.org/8162015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106513 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Adding dependency on QTKit and CoreVideo.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8177008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106036 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the name-collision with ::AudioRendererImpl, which lives in
content/renderer/media, and is actually the implementation used in chrome.
BUG=none
TEST=trybots
Review URL: http://codereview.chromium.org/8201018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104587 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
input Audio Unit present in OS 10.4 and later.
The AUHAL input Audio Unit is for low-latency audio I/O.
Review URL: http://codereview.chromium.org/7981022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104077 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
file.
BUG=none
TEST=trybots
Review URL: http://codereview.chromium.org/7966030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103599 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
element boundries.
BUG=86536
TEST=ChunkDemuxerTest::TestAppendingInPieces
Review URL: http://codereview.chromium.org/7981024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103543 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- mock_task.{h,cc} is gone.
- MockCallback is now MockClosure, and its commentary brought up to date (the
commentary checked in was a mix of old and attempt-at-new that never
materialized)
- NewExpectedCallback is NewExpectedClosure.
A bit of background on FooCallback vs. FooCB: when acolwell@ & I did the first
conversions to the new world, everything was named FooCallback. I proposed
using FooCB for the migrated ones as a way to both easily visually differentiate
as well as save characters (!). Now that we have an additional "don't typedef
Closures" guideline I like having FooCB for non-closure new-style callbacks, and
FooClosure for new-style closures.
BUG=none
TEST=trybots
Review URL: http://codereview.chromium.org/8085017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103464 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
They've been unused for a year and are trivial to revert should we need them again.
Review URL: http://codereview.chromium.org/8083011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103430 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly this was a rote conversion, replacing:
- Pass-by-pointer CallbackN<>'s become pass-by-const-ref Callback<>'s.
- scoped_ptr<CallbackN<>> members become Callback<> members.
- several dedicated FooCallback typedefs became base::Closure.
Because it was only used in a small handful of places and only in one place
profitably, I deleted AutoCallbackRunner.
Because it tickles a Bind bug I disabled mfdecoder in .gyp (about to get deleted in a scherkus CL).
BUG=none
TEST=media_tests, trybots
Review URL: http://codereview.chromium.org/8071007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103376 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=trybots
Review URL: http://codereview.chromium.org/8065023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103279 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Conditionalize the ffmpeg dependency and exclude files which rely on it
for the media and media_unittest targets. Disable the ffmpeg_unittests,
ffmpeg_tests and media_bench for Android targets as they require it.
This change also conditionalizes the inclusion of yasm_compile.gyp, as
yasm is only used for the ia32 and x86 target architectures.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7977023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102474 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Instead add DemuxerStream::audio_decoder_config() to break FFmpegAudioDecoder's dependency on the AVCodecContext object maintained by FFmpegDemuxer.
Review URL: http://codereview.chromium.org/7867051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102183 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes shared build errors for windows and linux.
BUG=18941,94861
TEST=shared builds compile
TBR=acolwell
Review URL: http://codereview.chromium.org/7932005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101808 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=93379
TEST=media_unittests, layout tests
Review URL: http://codereview.chromium.org/6901135
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101607 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
AudioDecoderConfig was being used as a struct for outputting format information to an AudioRenderer. This was confusing and in contrast to VideoDecoderConfig, which is is actually used as input to configure a video decoder!
Review URL: http://codereview.chromium.org/7796033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101563 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After rewriting assembly code in YASM we can finally move all these
different versions of files in the same folder, i.e. media/base/simd.
After this change the main entry point will be:
yuv_convert.cc and yuv_convert.h
It then calls into the internal functions under media/base/simd.
After this change I'll move all the color conversion files to
media/csc.
BUG=None
TEST=Tree is gree
Review URL: http://codereview.chromium.org/7888012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101507 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=media_unittests
BUG=96773
Review URL: http://codereview.chromium.org/7891050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101429 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'll watch the official buildbot this time.
TBR=ajwong, dhollowa
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7891039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101067 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Failed on official Linux 32 builder. (x486?)
http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux/builds/11240/steps/compile/logs/stdio
In file included from media/base/yuv_convert.cc:33:
/usr/lib/gcc/i486-linux-gnu/4.4.3/include/emmintrin.h:32:3:error: #error "SSE2 instruction set not enabled"
make: *** [out/Release/obj.target/yuv_convert/media/base/yuv_convert.o] Error 1
Besides rewrite assembly code in YASM, this change also do
runtime selection of routine depending processor support.
There are couple advantages in this YASM version.
1. Performance improvement
Using YASM we can push less to the stack, this results in ~5%
improvement on 32-bits system.
2. MMX and SSE versions are separate
SSE version use movntq while MMX version use movq.
3. 64-bits version works universally
This means that 64-bits YASM code compile and run on 64-bits
windows, mac and linux. While previously it only runs on
linux 64.
4. Handling PIC much better
PIC code runs and build on 32-bits and 64-bits system.
This is better than before which only works on 32-bits mac.
5. Easier maintenance
This code uses x86asm.inc for a bunch of nice macros. Having
just one YASM verion is better than having inline VC assembly
and don't have to worry inline assemly has different register
names on mac and linux.
I tested on linux 32-bits, linux 32-bits PIC and linux 64-bits
that this code is at least as fast as before.
BUG=None
TEST=media_unittests runs and all passing
Review URL: http://codereview.chromium.org/7858003
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/7887025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101008 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=92254
TEST=Covered by existing tests.
Review URL: http://codereview.chromium.org/7839035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100959 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Besides rewrite assembly code in YASM, this change also do
runtime selection of routine depending processor support.
There are couple advantages in this YASM version.
1. Performance improvement
Using YASM we can push less to the stack, this results in ~5%
improvement on 32-bits system.
2. MMX and SSE versions are separate
SSE version use movntq while MMX version use movq.
3. 64-bits version works universally
This means that 64-bits YASM code compile and run on 64-bits
windows, mac and linux. While previously it only runs on
linux 64.
4. Handling PIC much better
PIC code runs and build on 32-bits and 64-bits system.
This is better than before which only works on 32-bits mac.
5. Easier maintenance
This code uses x86asm.inc for a bunch of nice macros. Having
just one YASM verion is better than having inline VC assembly
and don't have to worry inline assemly has different register
names on mac and linux.
I tested on linux 32-bits, linux 32-bits PIC and linux 64-bits
that this code is at least as fast as before.
BUG=None
TEST=media_unittests runs and all passing
Review URL: http://codereview.chromium.org/7858003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100915 0039d316-1c4b-4281-b951-d872f2087c98
|