| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
BUG=137973
TBR=timurrrr
Review URL: https://codereview.chromium.org/10907213
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156540 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=chromium-os:32926
TEST=play youtube and check the device name.
Review URL: https://chromiumcodereview.appspot.com/10854200
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156527 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
As of r156011 the pause/flush/stop shutdown dance is no more. Now that Pipeline immediately calls Stop() during teardown we can remove a pile of hacks that were used to signal that teardown was starting.
BUG=110228
Review URL: https://chromiumcodereview.appspot.com/10918172
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156525 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=148662
TEST=ChunkDemuxerTest, PipelineIntegrationTest, and Media Source LayoutTests all still pass.
Review URL: https://codereview.chromium.org/10905236
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156425 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pretty simple fallback solution. There are certainly other ways
we could do this, but this is perhaps the most succinct.
AudioOutputResampler will automatically downgrade to using the
non-low latency path when OpenStream() fails.
Some tweaking may be necessary to figure out the best parameters
to use when a low latency stream fails.
BUG=148418
TEST=Force failed low latency stream creation. Flash still works.
Review URL: https://chromiumcodereview.appspot.com/10909151
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156341 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
TBR=scherkus
Review URL: https://chromiumcodereview.appspot.com/10905240
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156307 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
TBR=scherkus
Review URL: https://chromiumcodereview.appspot.com/10914233
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156306 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New output-related code was added in
https://chromiumcodereview.appspot.com/10918098
without being ifdef'd for iOS, breaking the iOS build.
TBR=dalecurtis,scherkus
BUG=148430
Review URL: https://chromiumcodereview.appspot.com/10918191
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156299 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Records bits per channel, channel layout, and sample rate.
BUG=147572
TEST=build/run
Review URL: https://chromiumcodereview.appspot.com/10914203
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156296 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
possible sample rates on Windows in combination with the pending output resampler.
BUG=none
TEST=Chrome+Flapper in combination with --enable-audio-output-resampler flag and pending OutputResampler patch.
Review URL: https://chromiumcodereview.appspot.com/10905213
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156270 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse
live audio. This change adds the ability to our audio system for handling synchronized audio
input and output in the same callback (same thread) which is important for good performance
and low-latency.
As a part of this change, the audio IPC system now takes an optional |input_channels| argument
in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc.
|input_channels| will be 0 during normal operation of audio output (and no input).
But when synchronized audio I/O is needed, then a non-zero value can be passed in here.
The |params| passed in represents both the input and output format, particularly the
frames_per_buffer() and sample_rate().
AudioRendererSink now has an new InitializeIO() method which will allow the use of
synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback
now has a new RenderIO() which will be called instead of Render() in the case where a
non-zero value is passed in for |input_channels|.
BUG=none
TEST=none
(manual testing on early Mac OS X and Windows audio back-ends)
Review URL: https://chromiumcodereview.appspot.com/10830268
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
invalid configs.
BUG=148528
TEST=Manual Media Source API test that appends uninitialize.webm from the chrome-internal/trunk/data/media/security/ repo.
Review URL: https://chromiumcodereview.appspot.com/10918183
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156202 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Locking when using |source_lock_| just to get |source_callback_|
isn't enough. We actually want to gate all objects which work
on the source data; i.e. the entire OnMoreData() pathway.
Otherwise the resampler or FIFO might get flushed by another thread
in the middle of fulfilling a Resample() or Consume() call.
BUG=none
TEST=tsan unit tests, open and closing tabs quickly.
Review URL: https://chromiumcodereview.appspot.com/10919212
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156103 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=ChunkDemuxerTest::TestTimestampOffsetMidParse
Review URL: https://chromiumcodereview.appspot.com/10908180
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156040 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
It's spuriously firing because media::Pipeline is occasionally destroyed on the wrong thread (whoops!).
BUG=148405
TBR=fischman
Review URL: https://chromiumcodereview.appspot.com/10917190
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156021 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Shutdown is now a single call to Stop() and is called regardless of the current state of pending operations.
BUG=110228
Review URL: https://chromiumcodereview.appspot.com/10837206
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156011 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the existing AudioOutputDispatcherImpl to handle the heavy lifting. It intercepts
the AudioSourceCallback provided during OpenStream() and replaces it with a
call to itself.
An AudioFifo object is used to ensure we interface with the renderer and
downstream components using the same buffer size they were configured with.
A MultiChannelResampler object interfaces with a provided callback method
which pulls data from the AudioFifo if available and otherwise retrieves more
data from the client (using the buffer size the client expects).
The pending bytes value is scaled according to the input / output sample rate
and bits per channel values. Outstanding data is tracked between OnMoreData()
calls in order to provide the client with an accurate delay estimate.
Feature is behind the "--enable-audio-output-resampler" for a/b testing. Will be
removed from behind the flag after tuning and functionality can be verified by
the Pepper Flash team.
BUG=147572
TEST=PepperFlash + 192kHz->44kHz, 48kHz->44kHz, 44kHz->96kHz. Manual
testing by various parties.
Review URL: https://chromiumcodereview.appspot.com/10918098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155968 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=143931
Review URL: https://chromiumcodereview.appspot.com/10913145
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155817 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bytes_per_frame_ is bytes_per_sample * num_channels. When calculating
bytes_per_sample from bytes_per_frame, divide by the number of channels,
the amount of frames we are rendering is not important here.
BUG=chromium-os:34241
TEST=youtube videos make noise on ChromeOS.
Review URL: https://chromiumcodereview.appspot.com/10917161
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155786 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A FIFO (First In First Out) buffer to handle mismatches in buffer sizes
between a provider and consumer. The consumer will pull data from this FIFO.
If data is already available in the FIFO, it is provided to the consumer.
If insufficient data is available to satisfy the request, the FIFO will ask
the provider for more data to fulfill a request.
Patch by henrika@chromium.org:
http://codereview.chromium.org/10915123/
BUG=none
TEST=--gtest_filter=AudioPullFifoTest.*
TBR=henrika
Review URL: https://chromiumcodereview.appspot.com/10914178
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155744 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Android, some GYP client targets were explicitly depending on both the
native and Java sides of a library.
This removes the dependencies to {base,net}_java and make the native side
('base' and 'net) of these libraries depend on their Java counterpart.
On Android it rarely makes sense to depend on a single side of a Java/C++
library.
The {base,net}_java can now be considered as "private" targets although GYP
does not support this concept unfortunately (AFAICT).
Note that I made sure that the resulting APKs' size is unchanged.
Additionally, this CL removes 'base_java' (i.e. does not replace it with
'base') from the targets including 'build/apk_test.gypi'. This dependency
should not have been there (in the wrong layer) in the first place. It's needed
by ChromeNativeTestActivity.java which clients should not know about.
BUG=146323
TBR=lipalani,sky,willchan,brettw
Review URL: https://chromiumcodereview.appspot.com/10913083
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155737 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=fischman
Review URL: https://chromiumcodereview.appspot.com/10915173
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155728 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The iOS audio manager supports audio input only (for voice search). This CL
also makes slight changes to audio_input_mac to make it usable on iOS.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/10907110
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155416 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
BUG=139004
Review URL: https://chromiumcodereview.appspot.com/10905134
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155250 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Our use of multithreaded video decoding results in a video decoding thread that is idle most of the time. Instead of being idle it can be doing real work like decoding audio. The end result is one less thread created per media element.
BUG=61293
TBR=brettw
Review URL: https://chromiumcodereview.appspot.com/10915091
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155179 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This class will be use in an upcoming AudioPullFifo class.
BUG=none
TEST=media_unittests --gtest_filter=AudioFifoTest.*
Review URL: https://chromiumcodereview.appspot.com/10912079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155171 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
iOS needs extra initial delay in the reset timer to avoid getting
killed because there is a background music fading out.
BUG=b/6754065
Review URL: https://chromiumcodereview.appspot.com/10911067
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155082 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstreaming iOS. iOS uses only audio input and does not link
against the audio output classes.
BUG=b/6754065
Review URL: https://chromiumcodereview.appspot.com/10914082
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155011 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makes the changes required to get media and media_unittests to build
successfully for iOS, building only the limited set of files that iOS requires.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/10919092
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154996 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://crrev.com/154951 introduced a bug where these buffers were
used, but the mocked methods were not initializing the data.
Also removes the suppression and fixes scherkus's comments from:
http://codereview.chromium.org/10920092/
BUG=114700
TEST=media_unittests + valgrind.
TBR=timurrr,scherkus
Review URL: https://chromiumcodereview.appspot.com/10916120
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154968 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://crrev.com/154951 introduced a bug where these buffers were
used, but the mocked methods were not initializing the data.
BUG=none
TEST=media_unittests + valgrind.
TBR=timurrrr, scherkus
Review URL: https://chromiumcodereview.appspot.com/10920092
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154954 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As titled, with this change we're now piping float data around the pipeline from
end to end. This change is in preparation for browser side channel remixing and
resampling.
As a consequence of this change the shared memory now represents the
contents of an AudioBus object, which is essentially audio data in a float
planar format.
BUG=114700
TEST=Should be no audible change. Ran all existing tests. Compiled ran
WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux.
Review URL: https://chromiumcodereview.appspot.com/10832285
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MainHooks are in particular used on iOS to prevent the system from killing the
test application at startup.
See https://chromiumcodereview.appspot.com/10690161/ for more context.
BUG=b/6754065
Review URL: https://chromiumcodereview.appspot.com/10915061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154946 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preparation for iOS support in media.gyp, move all the targets that
won't be used on iOS into a !iOS block. Future CLs will get the
remaning targets (media, media_unittests, media_test_support) building
for iOS.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/10887008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154790 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes unittest failures on Windows.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10918044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154734 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per the FFmpeg docs, avcodec_decode_audio4 should be repeatedly
called until all data from a given packet is exhausted.
Ran into this issue while running the FFmpeg regression tests after
acolwell added a DCHECK to ensure we were always fully exhausting
the packet after decode.
BUG=141020
TEST=ffmpeg_regression_tests
TBR=jam
Review URL: https://chromiumcodereview.appspot.com/10869085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154220 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lets us remove AudioUtil::DeinterleaveAudioChannel(). Modifies
AudioBus to add a new FromInterleavedPartial() function which
allows for streaming deinterleave. Also adds supporting method:
ZeroFramesPartial().
BUG=114700, 120319
TEST=unittests + WebAudio test page.
Review URL: https://chromiumcodereview.appspot.com/10871051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154099 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Brings internal consistency to the shared memory support
methods since it doesn't look like we'll be able to get
rid of them anytime soon.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10873071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154033 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AAC audio is sent to the Source Buffer in ADTS format, which requires
adding a header to each media sample. Encrypted subsample information
was not being adjusted to compensate for the extra clear bytes.
TEST=Manual, pending audio decryption support in decoder
BUG=132351
Review URL: https://chromiumcodereview.appspot.com/10886022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153854 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a bool return value in media::Decryptor::GenerateKeyRequest() call and add code in WebMeidaPlayerImpl to check this value. If GenerateKeyRequest() fails, prevent further calls to AddKey() and CancelKeyRequest().
BUG=145322
TEST=Called AddKey() after GenerateKeyRequest() fails and no crash.
Review URL: https://chromiumcodereview.appspot.com/10896014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153818 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is the Chromium-side change to support MediaSource's duration attribute.
BUG=NONE
Review URL: https://chromiumcodereview.appspot.com/10879056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153613 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes AudioOutputMixer from compilation in preperation for
converting the pipeline over to floats. Plan is as follows:
1. Remove AudioOutputMixer from compilation.
2. Convert all OnMoreData(uint8*, uint32, ...) calls to
OnMoreData(AudioBus*, ...)
3. Refactor AudioRendererMixing->AudioMixerUtil (Or VectorMath).
4. Convert AudioOutputMixer to use float mixing and re-enable.
BUG=114700
TEST=media_unittests
Review URL: https://chromiumcodereview.appspot.com/10855086
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153347 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Need to make sure when setCaptureDevice:nil returns, QTCaptureDecompressedVideoOutput won't call captureOutput of VideoCaptureDeviceQTKit.
BUG=139004
Review URL: https://chromiumcodereview.appspot.com/10875038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153307 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allows PPAPI to directly utilize shared memory utility code instead
of duplicating it and CHECK'ing for equivalency.
Required to eventually convert PPAPI to using an AudioBus and floats
in PPB_Audio_Shared::Run(). http://crbug.com/114700
BUG=123203
TEST=unittests
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=152406
Review URL: https://chromiumcodereview.appspot.com/10826296
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153262 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Turns out non-null media::Pipeline::pending_callbacks_ wasn't it -- on top the that we haven't received a single crash as a result of the CHECKs().
BUG=143539
TBR=jar
Review URL: https://chromiumcodereview.appspot.com/10867054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153216 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bitstream converter now gets created when we know the FFmpeg structs are
valid. Enabling the converter no longer needs access to these structs so the
crash is avoided.
BUG=144432
TEST=Manual testing with GPU video decoder init failing and falling back to software decode.
Review URL: https://chromiumcodereview.appspot.com/10879057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153204 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prepare the future home for more optimized vector math routines,
specifically FMUL for volume adjustment.
Additionally the FMAC operation will be used for browser side
mixing as well as channel upmixing and downmixing.
BUG=none
TEST=unittests.
Review URL: https://chromiumcodereview.appspot.com/10868037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153122 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One video observed generated an alleged delay of 9222246136947932171 frames near
the end of stream, which when converted to bytes and passed through a chain of
uint32/int32 conversions became -4052 bytes, and then -46ms, triggering the
DCHECK in the bug below.
BUG=144281
Originally landed as r152919 and reverted in r152923.
Review URL: https://chromiumcodereview.appspot.com/10869019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152977 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/10876023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152924 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
delay.
One video observed generated an alleged delay of 9222246136947932171 frames near
the end of stream, which when converted to bytes and passed through a chain of
uint32/int32 conversions became -4052 bytes, and then -46ms, triggering the
DCHECK in the bug below.
BUG=144281
Review URL: https://chromiumcodereview.appspot.com/10869019
TBR=fischman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10879027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152923 0039d316-1c4b-4281-b951-d872f2087c98
|