Issue 453560 in chromium: No sound on HTML5 Web Players (Youtube/ Vimeo)

42 views
Skip to first unread message

chro...@googlecode.com

unread,
Jan 29, 2015, 3:46:11 PM1/29/15
to chromi...@chromium.org
Status: Assigned
Owner: dgr...@chromium.org
CC: pos...@chromium.org, rohi...@chromium.org
Labels: Type-Bug-Regression Pri-1 Cr-OS-Kernel-Audio OS-Chrome
ReleaseBlock-Dev M-42

New issue 453560 by mu...@chromium.org: No sound on HTML5 Web Players
(Youtube/ Vimeo)
https://code.google.com/p/chromium/issues/detail?id=453560

Get to build: 6736.0.0, 42.0.2290.4 Link_freon or Wolf

What steps will reproduce the problem?
1. Play any video on Youtube or Vimeo

What is the expected output?

Hear audio from the video.


What do you see instead?

Video is playing but no audio.

Other notes:
Hulu / Pandora audio comes out fine. Playing Hulu or Pandora at the same
time changes nothing. You get pandora/hulu audio but no vimeo/youtube audio.

Youtube videos are using Webm/Vp9. Software decoding was used.
HW Decoding was being used for the vimeo videos.

We have reproduced this on two links and a wolf.

Sometimes, rebooting device will restore audio.

Chrome tab shows the volume icon.

Feedback report ID: 3837790194

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

chro...@googlecode.com

unread,
Jan 29, 2015, 5:27:08 PM1/29/15
to chromi...@chromium.org

Comment #5 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
did this not happen yesterday?

Nothing has really changed in audio land this week, especially nothing that
would affect all boards.

chro...@googlecode.com

unread,
Jan 29, 2015, 6:23:17 PM1/29/15
to chromi...@chromium.org
Updates:
Owner: dalec...@chromium.org

Comment #6 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
(No comment was entered for this change.)

chro...@googlecode.com

unread,
Jan 29, 2015, 6:34:21 PM1/29/15
to chromi...@chromium.org

Comment #7 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
Can you attach the contents of chrome://media-internals?

chro...@googlecode.com

unread,
Jan 29, 2015, 8:18:49 PM1/29/15
to chromi...@chromium.org

Comment #10 on issue 453560 by avkodipe...@chromium.org: No sound on HTML5
we are unable to reproduce this issue on 42.0.2289.0/6734.0.0 on link using
youtube and vimeo.

chro...@googlecode.com

unread,
Jan 29, 2015, 9:12:48 PM1/29/15
to chromi...@chromium.org

Comment #11 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
This is the chrome change list between working and not working:
https://chromium.googlesource.com/chromium/src/+log/42.0.2289.0..42.0.2290.4?pretty=fuller&n=10000

It's pretty big, so I haven't gotten all the through it yet.

chro...@googlecode.com

unread,
Jan 30, 2015, 3:13:42 PM1/30/15
to chromi...@chromium.org

Comment #12 on issue 453560 by matthewy...@chromium.org: No sound on HTML5
Any updates on this?

chro...@googlecode.com

unread,
Feb 2, 2015, 1:46:19 PM2/2/15
to chromi...@chromium.org
Updates:
Owner: cychi...@chromium.org

Comment #14 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
Jimmy, something broke between 6734.0.0 42.0.2289.0 and 6736.0.0,
42.0.2290.4

Seems like it might be a chrome side change, can you try to figure out what
is failing?

chro...@googlecode.com

unread,
Feb 2, 2015, 3:45:28 PM2/2/15
to chromi...@chromium.org

Comment #15 on issue 453560 by dalec...@chromium.org: No sound on HTML5
mussa: Please paste the contents of chrome://media-internals for output
streams.

chro...@googlecode.com

unread,
Feb 2, 2015, 7:36:01 PM2/2/15
to chromi...@chromium.org

Comment #16 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
Stream 1:4

channel_layout: STEREO
channels: 2
component_id: 4
component_type: 2
device_id:
effects: NO_EFFECTS
frames_per_buffer: 1024
owner_id: 1
sample_rate: 48000
status: started
volume: 1


Stream 2:0
channel_layout: STEREO
channels: 2
component_id: 0
component_type: 2
device_id:
effects: NO_EFFECTS
frames_per_buffer: 512
owner_id: 2
sample_rate: 48000
status: started
volume: 1

chro...@googlecode.com

unread,
Feb 2, 2015, 7:37:01 PM2/2/15
to chromi...@chromium.org

Comment #17 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
I am trying this on 6735.0.0/42.0.2290.4. That should help narrowing down
the list of changes.

chro...@googlecode.com

unread,
Feb 2, 2015, 7:41:01 PM2/2/15
to chromi...@chromium.org

Comment #19 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
I can reproduce this on link_freon 6735.0.0/42.0.2290.4. I had to reboot a
couple times to get it. I just logged in with a test account and played any
YouTube video.

chro...@googlecode.com

unread,
Feb 2, 2015, 9:57:07 PM2/2/15
to chromi...@chromium.org

Comment #20 on issue 453560 by hyc...@chromium.org: No sound on HTML5 Web
Does this problem happen for Flash audio?

If it's good on Flash but has problem on html5, then it reminds be a
mysterious old bug:
https://code.google.com/p/chromium/issues/detail?id=446989

chro...@googlecode.com

unread,
Feb 3, 2015, 1:06:33 AM2/3/15
to chromi...@chromium.org
Updates:
Cc: dalec...@chromium.org

Comment #21 on issue 453560 by hyc...@chromium.org: No sound on HTML5 Web
Issue 454027 has been merged into this issue.

chro...@googlecode.com

unread,
Feb 3, 2015, 2:01:33 AM2/3/15
to chromi...@chromium.org

Comment #22 on issue 453560 by cychi...@google.com: No sound on HTML5 Web
I am using link to test.

I checked out
chrome src
3c7cd5 Publish DEPS for Chromium 42.0.2290.4

chrome webkit
7f3bdo Remove fontDataFromDescriptionAndLogFont declaration.

(gclient sync -r src@3c7cd5 does not work, so I have to manually checkout
webkit to a previous version)

Then, build and deploy chromium to 6734.0 and 6735.0 link image.
Both images are fine, can not reproduce the problem.

I am guessing if this issue does not happen on chromium, but just on chrome.
I am local build a latest tot link image (with chromium) to verify it.

chro...@googlecode.com

unread,
Feb 3, 2015, 3:34:40 AM2/3/15
to chromi...@chromium.org

Comment #23 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
This issue is not limited to freon and intel platform.
I reproduced on link and peach_pit. I can reproduce the problem starting
from 6735.0.

Also, I tested the latest local built link image (6751.0.2015_0203_1427) ,
can not reproduce the problem.
However, the latest buildbot-built link image (6750.0.0) can reproduce the
problem.
Thee chrome version is 42.0.2292 for two images.

This seems to be related to the things that chrome has but chromium does
not have.

chro...@googlecode.com

unread,
Feb 3, 2015, 3:42:54 PM2/3/15
to chromi...@chromium.org

Comment #29 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
When only YouTube is playing this the output of
chrome://histograms/Media.AudioRendererMissedDeadline:

Stats accumulated from browser startup to previous page load; reload to get
stats as of this page load.

Histogram: Media.AudioRendererMissedDeadline recorded 2 samples, average =
0.0 (flags = 0x1)
0
------------------------------------------------------------------------O
(2 = 100.0%)
1 ...



When I played Hulu (In Addition to YouTube still playing - Hulu is
producing audio and video):

Stats accumulated from browser startup to previous page load; reload to get
stats as of this page load.

Histogram: Media.AudioRendererMissedDeadline recorded 4 samples, average =
0.0 (flags = 0x1)
0
------------------------------------------------------------------------O
(4 = 100.0%)
1 ...

chro...@googlecode.com

unread,
Feb 3, 2015, 3:46:54 PM2/3/15
to chromi...@chromium.org

Comment #30 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
dalecurtis@ I have a link that is reproducing this issue pretty
consistently. Perhaps you can use it for your investigations - speeding up
the process?

chro...@googlecode.com

unread,
Feb 3, 2015, 5:34:17 PM2/3/15
to chromi...@chromium.org

Comment #32 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
Teams/ says dalecurtis@ is in Seattle - so my plan of getting him the link
won't really work in time for a dev blocker :D

Are you able to get hold of a link another way?

chro...@googlecode.com

unread,
Feb 3, 2015, 6:44:19 PM2/3/15
to chromi...@chromium.org

Comment #35 on issue 453560 by dalec...@chromium.org: No sound on HTML5
Oh you meant link as in the device. I thought you meant a url that would
always repro this, even on desktop.

Do basic playback videos work when audio is not working? I.e.

http://commondatastorage.googleapis.com/dalecurtis-shared/buck2.webm

I'm also surprised at cychiang@'s comment that the browser is sending zeros
since mussa@ reports above that the audio indicator is displayed during
playback. This means audio is making it from the renderer to the browser.

@cychiang: Exactly how did you verify that you are getting all zeros from
the renderer?

chro...@googlecode.com

unread,
Feb 3, 2015, 6:50:20 PM2/3/15
to chromi...@chromium.org

Comment #36 on issue 453560 by dalec...@chromium.org: No sound on HTML5
Can you verify the value of bytes_per_frame_ set in CrasUnified via
cras_client_format_bytes_per_frame()? If it is not 1, 2, or 4 the output
will be zeroed in the final step.

chro...@googlecode.com

unread,
Feb 3, 2015, 7:14:24 PM2/3/15
to chromi...@chromium.org

Comment #37 on issue 453560 by yini...@chromium.org: No sound on HTML5 Web
Dale, video playback works fine in chromebook. I have verified it on peppy.
adobe flash audio is working as well so it is limit to html5 audio. If you
need device, let me know.

chro...@googlecode.com

unread,
Feb 3, 2015, 7:51:24 PM2/3/15
to chromi...@chromium.org

Comment #42 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
Jimmy, can you try to do a chrome build instead? maybe just with
media-internals enabled. Could that be why you are seeing a difference
between your local build and the build from the bot?

chro...@googlecode.com

unread,
Feb 3, 2015, 8:13:23 PM2/3/15
to chromi...@chromium.org

Comment #43 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
chrome://tracing json files:

https://console.developers.google.com/storage/browser/chromiumos-test-logs/bugfiles/cr/453560/

chro...@googlecode.com

unread,
Feb 3, 2015, 8:54:24 PM2/3/15
to chromi...@chromium.org

Comment #47 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
That's interesting.

Does 6734.0.0 really not fail?

The only changes between that and 6736 are board config files and bluetooth.

Also, how on earth can 48k fail and 96k work?

chro...@googlecode.com

unread,
Feb 3, 2015, 9:43:32 PM2/3/15
to chromi...@chromium.org

Comment #48 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
I'm not even seeing a stream get added when playing a 48k file. There is
just a random 48k stream open though, probably the on from the won't
suspend bug.

Were there any new stream combining optimizations added?

chro...@googlecode.com

unread,
Feb 3, 2015, 9:45:32 PM2/3/15
to chromi...@chromium.org

Comment #49 on issue 453560 by dalec...@chromium.org: No sound on HTML5
No, there's no stream combination done on the browser side. Only the
renderer side, which could only happen on one of the above pages if some
extension is injecting something into the page.

chro...@googlecode.com

unread,
Feb 3, 2015, 9:47:31 PM2/3/15
to chromi...@chromium.org

Comment #50 on issue 453560 by dalec...@chromium.org: No sound on HTML5
(Streams are reused though if a request comes in for one within a few
seconds of a close event).

chro...@googlecode.com

unread,
Feb 3, 2015, 10:04:32 PM2/3/15
to chromi...@chromium.org

Comment #51 on issue 453560 by mu...@chromium.org: No sound on HTML5 Web
Just flashed a pixel with 6734.0.0. I don't get a repro. I tried a couple
times.

chro...@googlecode.com

unread,
Feb 3, 2015, 10:14:32 PM2/3/15
to chromi...@chromium.org

Comment #52 on issue 453560 by cychi...@google.com: No sound on HTML5 Web
Oh! After reboot several times I can reproduce the issue on 6744 image.
I guess I need to check previous versions, and also check local built
chrome again in case they are just less probable to reproduce this problem.
It seems that different image version may have different repro rate.

Re#35, I attach gdb to browser process and steps through
AudioSyncReader::WaitUntilDataIsReady() and check the data in audio bus. I
will attach the log, need some time to setup the debug environment again.

chro...@googlecode.com

unread,
Feb 3, 2015, 10:15:32 PM2/3/15
to chromi...@chromium.org

Comment #53 on issue 453560 by dalec...@chromium.org: No sound on HTML5
The change log is relatively large on the Chrome side, but nothing in there
touches browser side audio in any way. Is there log of the ChromeOS changes
anywhere?

chro...@googlecode.com

unread,
Feb 3, 2015, 10:19:32 PM2/3/15
to chromi...@chromium.org

chro...@googlecode.com

unread,
Feb 3, 2015, 10:22:31 PM2/3/15
to chromi...@chromium.org

Comment #55 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Sorry, scratch #52, I tried the wrong image (should use 6734 not 6744)

chro...@googlecode.com

unread,
Feb 3, 2015, 10:23:33 PM2/3/15
to chromi...@chromium.org

Comment #56 on issue 453560 by dalec...@chromium.org: No sound on HTML5
cychiang: Unless gdb is stopping the clock from Chrome's POV you'll
definitely get zeros trying to debug that way since AudioSyncReader will
detect a browser side timeout and zero out the data:

https://code.google.com/p/chromium/codesearch#chromium/src/content/browser/renderer_host/media/audio_sync_reader.cc

Just noting that the tab audio indicator is showing an audible signal is
enough to show that we're getting non-zero audio data on the browser side.

chro...@googlecode.com

unread,
Feb 3, 2015, 10:24:32 PM2/3/15
to chromi...@chromium.org

chro...@googlecode.com

unread,
Feb 3, 2015, 11:19:01 PM2/3/15
to chromi...@chromium.org

Comment #58 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
I get the samples from renderer to browser now.
It seems normal. I am not sure how come I saw all 0 yesterday.
Then I need to find out how browser handles those samples and send to cras.


The path
++renderer_missed_callback_count_;
dest->Zero();
does not happen as we can see renderer_missed_callback_count_ is 0.


set break point at audio_sync_reader.cc:100

(gdb) s
103
in ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/renderer_host/media/audio_sync_reader.cc
(gdb) print *this
$19 = {<media::AudioOutputController::SyncReader> = {
_vptr.SyncReader = 0x7f2cdc91bd30 <vtable for
content::AudioSyncReader+16>},
shared_memory_ = 0x11aa0db1b2a0, mute_audio_ = false, socket_ = {impl_ = {
data_ = {<base::DefaultDeleter<base::CancelableSyncSocket>> = {<No
data fields>},
ptr = 0x11aa0a7539b0}}}, foreign_socket_ = {impl_ = {
data_ = {<base::DefaultDeleter<base::CancelableSyncSocket>> = {<No
data fields>},
ptr = 0x11aa0aea5ba0}}}, output_bus_ = {impl_ = {
data_ = {<base::DefaultDeleter<media::AudioBus>> = {<No data
fields>}, ptr = 0x11aa0c1614b0}}},
packet_size_ = 8192, renderer_callback_count_ = 6109,
renderer_missed_callback_count_ = 0,
maximum_wait_time_ = {delta_ = 20000}, buffer_index_ = 6109}
(gdb) print this->output_bus_.impl_->data_->ptr->channel_data_
$20 = {<std::_Vector_base<float*, std::allocator<float*> >> = {
_M_impl = {<std::allocator<float*>> =
{<__gnu_cxx::new_allocator<float*>> = {<No data fields>}, <No data
fields>}, _M_start = 0x11aa0a7e9100, _M_finish = 0x11aa0a7e9110,
_M_end_of_storage = 0x11aa0a7e9110}}, <No data fields>}
(gdb) print
*this->output_bus_.impl_->data_->ptr->channel_data_->_M_impl._M_start
$21 = (float *) 0x7f2cbe552000
(gdb) x/10x 0x7f2cbe552000
0x7f2cbe552000: 0xbbd89d3b 0xbac236df 0x3b696864 0x3c0b7021
0x7f2cbe552010: 0x3c596315 0x3c9078cd 0x3cb043d6 0x3ccb86f4
0x7f2cbe552020: 0x3ce25b16 0x3cf538dd



set break point at audio_output_controller.cc:296

(gdb) print *dest
$25 = {_vptr.AudioBus = 0x7f2cdc861130 <vtable for media::AudioBus+16>,
data_ = {impl_ = {
data_ = {<base::AlignedFreeDeleter> = {<No data fields>}, ptr =
0x11aa0db5a000}}},
channel_data_ = {<std::_Vector_base<float*, std::allocator<float*> >> = {
_M_impl = {<std::allocator<float*>> =
{<__gnu_cxx::new_allocator<float*>> = {<No data fields>}, <No data
fields>}, _M_start = 0x11aa0a744380, _M_finish = 0x11aa0a744390,
_M_end_of_storage = 0x11aa0a744390}}, <No data fields>}, frames_ =
1024,
can_set_channel_data_ = false}
(gdb) print *dest->channel_data_->_M_impl._M_start
$26 = (float *) 0x11aa0db5a000
(gdb) x/10x 0x11aa0db5a000
0x11aa0db5a000: 0xbbd89d3b 0xbac236df 0x3b696864 0x3c0b7021
0x11aa0db5a010: 0x3c596315 0x3c9078cd 0x3cb043d6 0x3ccb86f4
0x11aa0db5a020: 0x3ce25b16 0x3cf538dd

chro...@googlecode.com

unread,
Feb 3, 2015, 11:27:01 PM2/3/15
to chromi...@chromium.org

Comment #59 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
Jimmy, when you play the 48k file from comment #46, what streams are
attached to cras? can you pass --syslog_level 7 to the server on startup?
Add it to /etc/init/cras.conf. Then see if there is any useful info in
/var/log/messages.

chro...@googlecode.com

unread,
Feb 4, 2015, 12:17:01 AM2/4/15
to chromi...@chromium.org

Comment #60 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
I found that when I reproduce the issue, the path involves
fake_audio_consumer
I think this is abnormal, it does not happen when I play video at hulu.com.

For both case, I set breakpoint at audio_converter.cc:232

1:Play youtube

Breakpoint 6, media::AudioConverter::SourceCallback (this=0x11aa0db48da8,
fifo_frame_delay=<optimized out>, dest=0x11aa0b4ded20)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:232
232 ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:
No
such file or
directory.
(gdb) c
Continuing.

Breakpoint 3, media::AudioConverter::SourceCallback (this=0x17ccf8918bf8,
fifo_frame_delay=<optimized out>, dest=0x17ccfaf44930)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:232
232
in ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc
(gdb) bt
#0 media::AudioConverter::SourceCallback (this=0x17ccf8918bf8,
fifo_frame_delay=<optimized out>,
dest=0x17ccfaf44930)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:232
#1 0x00007fef1e7b3d65 in media::AudioConverter::ConvertWithDelay
(this=0x17ccf8918bf8, initial_delay=...,
dest=dest@entry=0x17ccfaf44930)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:144
#2 0x00007fef1e7b3da7 in media::AudioConverter::Convert (this=<optimized
out>,
dest=dest@entry=0x17ccfaf44930)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:160
#3 0x00007fef1e7b1070 in media::OnMoreDataConverter::OnMoreData
(this=<optimized out>,
dest=0x17ccfaf44930, total_bytes_delay=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_resampler.cc:332
#4 0x00007fef1e7bb678 in Run (args#0=@0x7fef1940a8d0: 0x17ccfaf44930,
this=0x17ccfadb3d68)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#5 media::FakeAudioConsumer::Worker::DoRead (this=0x17ccfadb3d20)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/fake_audio_consumer.cc:146



through fake_audio_consumer ?




#6 0x00007fef1e7bb8d4 in Run (this=0x17ccfadb3d80)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#7 media::FakeAudioConsumer::Worker::DoStart (this=0x17ccfadb3d20)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/fake_audio_consumer.cc:121
#8 0x00007fef1d633fa8 in Run (this=0x7fef1940ab38)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#9 base::debug::TaskAnnotator::RunTask (this=<optimized out>,
queue_function=<optimized out>,
run_function=<optimized out>, pending_task=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
#10 0x00007fef1d622bb6 in RunTask (pending_task=..., this=0x17ccf467e480)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:459
#11 DeferOrRunPendingTask (pending_task=..., this=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:468
#12 base::MessageLoop::DoWork (this=0x17ccf467e480)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:580
#13 0x00007fef1d6233b9 in base::MessagePumpDefault::Run
(this=0x17ccf46c47c0, delegate=0x17ccf467e480)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_default.cc:32
#14 0x00007fef1defe2a2 in base::RunLoop::Run (this=0x7fef1940ad00)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/run_loop.cc:55
#15 0x00007fef1deedad5 in base::MessageLoop::Run (this=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:317
#16 0x00007fef1df0f82f in base::Thread::ThreadMain (this=0x17ccf46825c0)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/thread.cc:228
#17 0x00007fef1df0d49f in base::(anonymous namespace)::ThreadFunc
(params=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/platform_thread_posix.cc:80
#18 0x00007fef1bd6f223 in start_thread (arg=0x7fef1940b700) at
pthread_create.c:309
#19 0x00007fef1b48a16d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111


===================================================================================
When I play video at hulu


Breakpoint 4, media::AudioConverter::SourceCallback (this=0x17ccf5a5c9b8,
fifo_frame_delay=<optimized out>, dest=0x17ccfaf44990)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:232
232 ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:
No
such file or
directory.
(gdb) bt
#0 media::AudioConverter::SourceCallback (this=0x17ccf5a5c9b8,
fifo_frame_delay=<optimized out>,
dest=0x17ccfaf44990)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:232
#1 0x00007fef1e7b3d65 in media::AudioConverter::ConvertWithDelay
(this=0x17ccf5a5c9b8, initial_delay=...,
dest=dest@entry=0x17ccfaf44990)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:144
#2 0x00007fef1e7b3da7 in media::AudioConverter::Convert (this=<optimized
out>,
dest=dest@entry=0x17ccfaf44990)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_converter.cc:160
#3 0x00007fef1e7b1070 in media::OnMoreDataConverter::OnMoreData
(this=<optimized out>,
dest=0x17ccfaf44990, total_bytes_delay=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_resampler.cc:332
#4 0x00007fef1d71e5bb in media::CrasUnifiedStream::WriteAudio
(this=0x17ccfafa8cc0,
frames=<optimized out>, buffer=0x7fef0503f058 "\363\377\363\377\"",
sample_ts=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/cras/cras_unified.cc:309
#5 0x00007fef1e7c20db in media::CrasUnifiedStream::DispatchCallback
(this=<optimized out>,
frames=<optimized out>, input_samples=<optimized out>,
output_samples=<optimized out>,
input_ts=<optimized out>, output_ts=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/cras/cras_unified.cc:288




This path actually gets to cras



#6 0x00007fef1bfb7e9f in ?? () from /usr/lib64/libcras.so.0
#7 0x00007feeff792d40 in ?? ()
#8 0x000017ccfafa8cc0 in ?? ()
#9 0x00007feeff792d20 in ?? ()
#10 0x0000000000000000 in ?? ()


To Dylan, I will try syslog_level shortly. Thanks!

chro...@googlecode.com

unread,
Feb 4, 2015, 12:22:00 AM2/4/15
to chromi...@chromium.org

Comment #61 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
The above result is similar for webm files in #46.
sync48.webm goes to fake audio, other three webm plays to cras_unified.
So now i need to find out what's wrong in 48k playback such that chrome use
fake_audio_consumer and does not play to cras.

chro...@googlecode.com

unread,
Feb 4, 2015, 12:26:03 AM2/4/15
to chromi...@chromium.org

Comment #62 on issue 453560 by matthewy...@chromium.org: No sound on HTML5
Could this issue be caused by something on the Youtube side?

chro...@googlecode.com

unread,
Feb 4, 2015, 12:48:04 AM2/4/15
to chromi...@chromium.org

Comment #63 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Since I can reproduce this issue by playing
http://commondatastorage.googleapis.com/dalecurtis-shared/sync48.webm , I
think it is not related to youtube.

Re Dylan:
I add --syslog_level 7 at /etc/init/cras.conf like this

exec minijail0 -u cras -g cras -G -- /usr/bin/cras ${ENABLE_HFP}
--syslog_level 7
It does not show info in the log, is that the correct way ?

The weird thing is there is one 48k output stream playing all zero (I log
it in cras cras_iodev_put_output_buffer by printing frame[0]~frame[9]) when
I log in. That might be the cause.
Still need to trace in gdb how chrome decide to fallback to
fake_audio_consumer.

chro...@googlecode.com

unread,
Feb 4, 2015, 6:27:25 AM2/4/15
to chromi...@chromium.org
Updates:
Status: Started

Comment #64 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Hurray!

With many helps from Chihchung we finally found the root cause.
There was an error message in /var/log/chrome/chrome saying

[1303:1313:0204/185410:WARNING:cras_unified.cc(93)] Couldn't connect CRAS
client.

That comes from
CrasUnifiedStream::Open() in
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/cras/cras_unified.cc&l=93

which can be traced back to

dispatcher_->OpenStream()
in
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/audio_output_resampler.cc&rcl=1422911108&l=181

That causes audio_output_resampler decides that 48K format should fallback
to use fake audio consumer, as in

https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/audio_output_resampler.cc&rcl=1422911108&l=218

So when chrome starts, and cras is not ready . This makes chrome decides to
use fallback device for 48k audio playback hereafter.

To solve this in chrome os, we need to make sure cras is running before ui
starts.
Currently this dependency is not requested.

cras: start on starting system-services

ui: start on started boot-services

system-services:
start on started boot-complete and started boot-services

So ui will not wait for cras to start.

The CL https://chromium-review.googlesource.com/#/c/246002/ changes cras to

-start on starting system-services
-stop on stopping system-services
+start on starting boot-services and started dbus
+stop on stopping boot-services

to request that dependency. The dbus is needed for cras because cras need
to register name and method on system bus.

The drawback is a delay in chrome startup time since now it must wait for
cras.

I have tested it on link for 20 times and it works fine.

Another approach is to change chrome's logic to either
1.open the stream later, but i have no clue where does that output stream
comes from in the very beginning of chrome start up.
2. Give OpenStream a chance to see if it does not need to use fallback
device anymore.

Dale might have better idea if we want to fix this in chrome and avoid the
delay in chrome startup time.

Thanks!

chro...@googlecode.com

unread,
Feb 4, 2015, 11:32:55 AM2/4/15
to chromi...@chromium.org
Updates:
Status: Assigned
Owner: dalec...@chromium.org

Comment #66 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Hi Dylan, I see. So it is by design that ui does not wait for cras. The
drawback is if ui needs to play audio when user login (like OOBE sound),
there is a chance that cras might not be ready at that time. But I don't
remember if we have dealt with this issue before.

Hi Dale, do you know where does the first output stream comes from in the
very beginning of chrome start up ? Could you check if that mysterious
stream can be avoided and thus avoid this issue ? Other idea I can think of
is to add retry when open, or add mechanism to bring back the path from
fallback device to real device if possible, but that might make the logic
complicated.
Thanks!

assign to dalecurtis to see if solution can be made in chrome. The upstart
change can be a backup solution, with the sacrifice of ui start up time.

chro...@googlecode.com

unread,
Feb 4, 2015, 2:05:48 PM2/4/15
to chromi...@chromium.org
Updates:
Cc: ygors...@chromium.org

Comment #68 on issue 453560 by dalec...@chromium.org: No sound on HTML5
I'll have to take a closer look; we should be able to add a retry option of
sorts; or at least nuke dispatchers that no longer have streams and had to
fallback to the fake path. It may be a little hairy to merge though. I
won't know until later.

Why are we suddenly seeing this now? What's attempting to create a sound so
early now? This code path hasn't changed in a long time, so I'd rather see
whatever caused it to start reverted for M42. Also, doesn't this mean the
cros sounds won't actually work early in startup?

I don't know where that first output stream is coming from. I bet it's the
one in all the other bugs. Something coming up so early must be related to
the CrOS sounds manager. I don't know where that code is invoked though.
dgreid, ygorshenin: Do you know where this happens?

chro...@googlecode.com

unread,
Feb 4, 2015, 3:43:46 PM2/4/15
to chromi...@chromium.org

Comment #69 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
Sounds have never worked early in cros boot. That was a conscious decision
because it is very costly to boot time to bring up the audio drivers,
particularly on platforms like link where firmware has to be loaded to the
codec.

There shouldn't be anything playing sounds at startup during a normal
boot. The worst case is something has been starting a stream for a long
time and timing shifted around to make it happen even earlier.

chro...@googlecode.com

unread,
Feb 4, 2015, 5:54:57 PM2/4/15
to chromi...@chromium.org

Comment #74 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
This is rather frustrating. I just synced to ToT, and modified to
MakeAudioOutputStreamProxy to crash before doing anything else. I can log
in and run until I start to play a video.

This is a chromium build. Could there be something in the chrome-specific
code that is playing an audio stream?

chro...@googlecode.com

unread,
Feb 4, 2015, 6:12:02 PM2/4/15
to chromi...@chromium.org

Comment #75 on issue 453560 by dalec...@chromium.org: No sound on HTML5
Yeah, if it's some extension wrecking havoc it won't be packaged with
Chromium builds. You need buildtype=Official in your defines plus a
src-internal checkout

chro...@googlecode.com

unread,
Feb 4, 2015, 6:38:02 PM2/4/15
to chromi...@chromium.org
Updates:
Cc: kcaratt...@chromium.org amis...@chromium.org

Comment #77 on issue 453560 by r...@chromium.org: No sound on HTML5 Web
kcarattini@ or amistry@ would probably know better at this point.

chro...@googlecode.com

unread,
Feb 4, 2015, 10:08:34 PM2/4/15
to chromi...@chromium.org

Comment #79 on issue 453560 by josa...@chromium.org: No sound on HTML5 Web
How frequent is this issue? Any work around?
I am able to play YT videos on my gnawty (rambi) and audio is fine

chro...@googlecode.com

unread,
Feb 4, 2015, 10:17:38 PM2/4/15
to chromi...@chromium.org

Comment #80 on issue 453560 by mu...@google.com: No sound on HTML5 Web
For me it was rather frequent. Can you try rebooting a few times - we
reproed this today on Jerry and one other device.

Based on this thread, it looks like these devices have been shown to repro:
#19 Link
#0 Wolf
#44 Leon
#23 peach_pit
#34 Peppy
#45 Jerry

...

chro...@googlecode.com

unread,
Feb 4, 2015, 10:46:39 PM2/4/15
to chromi...@chromium.org

Comment #81 on issue 453560 by dalec...@chromium.org: No sound on HTML5
Have a workaround CL here https://codereview.chromium.org/899923003/ though
it needs more testing tomorrow. I've also filed issue 455371 to track
fixing chrome://media-internals to show when fakes are created.

Note, this isn't the ideal solution and if history proves may be risky.
Dylan is in the process of tracking down who's creating the stream, which
is the best fix.

chro...@googlecode.com

unread,
Feb 4, 2015, 11:07:40 PM2/4/15
to chromi...@chromium.org

Comment #82 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
I'm still having trouble getting this to happen. I've updated to a ToT,
internal Chrome build, but am still not seeing any streams added on startup.

I added this code, which crashes when I load any audio file, but it doesn't
get hit at startup.

diff --git a/media/audio/audio_manager_base.cc
b/media/audio/audio_manager_base.cc
index edaabf4..d8b9536 100644
--- a/media/audio/audio_manager_base.cc
+++ b/media/audio/audio_manager_base.cc
@@ -226,6 +226,7 @@ AudioOutputStream*
AudioManagerBase::MakeAudioOutputStreamProxy(
const std::string& device_id) {
DCHECK(task_runner_->BelongsToCurrentThread());

+ *(volatile int *)0x00 = 2;
// If the caller supplied an empty device id to select the default
device,
// we fetch the actual device id of the default device so that the lookup
// will find the correct device regardless of whether it was opened as

chro...@googlecode.com

unread,
Feb 5, 2015, 12:10:41 AM2/5/15
to chromi...@chromium.org
Updates:
Owner: cychi...@chromium.org

Comment #83 on issue 453560 by dgr...@chromium.org: No sound on HTML5 Web
I got a crash with the above code after syncing chrome better.

Here is the crash output. I have to run to a hockey game, Jimmy can you
take a look and see if it has anything interesting?

From this I can see it is something right when the login box is drawn. Is
there any copresence stuff going on to aid in proximity unlock?

Attachments:
crash.tar 410 KB

chro...@googlecode.com

unread,
Feb 5, 2015, 12:18:40 AM2/5/15
to chromi...@chromium.org

Comment #84 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
OK! I am going to check the backtrace. Thanks!

chro...@googlecode.com

unread,
Feb 5, 2015, 12:41:39 AM2/5/15
to chromi...@chromium.org

Comment #85 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Actually i need to get debug symbol for backtrace. I will add the code in
#82 and do a local debug build here to make it crash and check backtrace.

Re#70, the way I use gdb make it hard to catch it. I first do pstree -p to
find the chrome browser process pid, then attach gdb to that pid. By the
time I attach to it, the open stream had already happened.

Btw, i found that i can not reproduce this issue in guest mode, even if
there is error message "Couldn't connect CRAS client." in the beginning.
It might be that guest mode uses a new dispatcher. Just a reminder that we
need to sign in to verify the bug does not happen.

chro...@googlecode.com

unread,
Feb 5, 2015, 2:42:31 AM2/5/15
to chromi...@chromium.org

Comment #86 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Finally got the coredump. The trick is to enable it by
sudo touch /mnt/stateful_partition/etc/enable_chromium_coredumps

It seems that somewhere a task is posted, so I need to add a crash at
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/audio_output_controller.cc&type=cs&sq=package:chromium&q=AudioOutputController::Create&l=52
to find who calls PostTask.

(gdb) bt
#0 0x00007fec2b6de691 in media::AudioManagerBase::MakeAudioOutputStream
(this=0x286097b93580, params=...,
device_id="")
at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_manager_base.cc:134
#1 0x00007fec2b6e079b in
media::AudioOutputDispatcherImpl::CreateAndOpenStream (this=0x28609a81cc80)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_dispatcher_impl.cc:136
#2 0x00007fec2b6e0dfd in media::AudioOutputDispatcherImpl::OpenStream
(this=0x28609a81cc80)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_dispatcher_impl.cc:45
#3 0x00007fec2b6e1638 in media::AudioOutputResampler::OpenStream
(this=0x286098bfab00)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_resampler.cc:181
#4 0x00007fec2b6e0e1d in media::AudioOutputProxy::Open
(this=0x286099036f60)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_proxy.cc:29
#5 0x00007fec2dfba31c in media::AudioOutputController::DoCreate
(this=0x2860993028c0,
is_for_device_change=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_controller.cc:131
#6 0x00007fec2a563fa8 in Run (this=0x7fec2633ab38)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#7 base::debug::TaskAnnotator::RunTask (this=this@entry=0x286097b8e5d0,

queue_function=queue_function@entry=0x7fec2e9b0951 "MessageLoop::PostTask",
run_function=run_function@entry=0x7fec2e9b093c "MessageLoop::RunTask",
pending_task=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
#8 0x00007fec2a552bb6 in RunTask (pending_task=..., this=0x286097b8e480)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:459
#9 DeferOrRunPendingTask (pending_task=..., this=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:468
#10 base::MessageLoop::DoWork (this=0x286097b8e480)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:580
#11 0x00007fec2a5533b9 in base::MessagePumpDefault::Run
(this=0x286097bd47c0, delegate=0x286097b8e480)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_default.cc:32
#12 0x00007fec2ae2e2a2 in base::RunLoop::Run
(this=this@entry=0x7fec2633ad00)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/run_loop.cc:55
#13 0x00007fec2ae1dad5 in base::MessageLoop::Run (this=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:317
#14 0x00007fec2ae3f82f in base::Thread::ThreadMain (this=0x286097b935c0)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/thread.cc:228
#15 0x00007fec2ae3d49f in base::(anonymous namespace)::ThreadFunc
(params=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/platform_thread_posix.cc:80
#16 0x00007fec28c9f223 in ?? ()
#17 0x0000000000000000 in ?? ()

chro...@googlecode.com

unread,
Feb 5, 2015, 3:10:07 AM2/5/15
to chromi...@chromium.org

Comment #87 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Got the backtrace of AudioOutputController::Create.
It comes from IPC message handler in

https://code.google.com/p/chromium/codesearch#chromium/src/content/browser/renderer_host/media/audio_renderer_host.cc&l=300&q=OnCreateStream&type=cs&sq=package:chromium

so need to crash and trace at AudioOutputIPCImpl::CreateStream to see who
posts that message
in
https://code.google.com/p/chromium/codesearch#chromium/src/content/renderer/media/audio_message_filter.cc&rcl=1423027760&l=84

(gdb) bt
#0 0x00007f523d303a21 in media::AudioOutputController::Create
(audio_manager=0x27223506f580,
event_handler=event_handler@entry=0x272236529680, params=...,
output_device_id="", sync_reader=sync_reader@entry=0x27223663f3c0)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_controller.cc:57
#1 0x00007f523bfe87f9 in AudioEntry (reader=..., shared_memory=...,
output_device_id="", params=..., render_frame_id=1,
render_view_id=<optimized out>, stream_id=1, host=0x2722362a0640,
this=0x272236529680)

at ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/renderer_host/media/audio_renderer_host.cc:117
#2 content::AudioRendererHost::OnCreateStream
(this=this@entry=0x2722362a0640, stream_id=1, render_view_id=<optimized
out>, render_frame_id=1, session_id=<optimized out>, params=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/renderer_host/media/audio_renderer_host.cc:370
#3 0x00007f523bfe85bc in DispatchToMethodImpl<content::AudioRendererHost,
void (content::AudioRendererHost::*)(int, int, int, int,
media::AudioParameters const&), int, int, int, int, media::AudioParameters,
0ul, 1ul, 2ul, 3ul, 4ul> (arg=..., method=
(void (content::AudioRendererHost::*)(content::AudioRendererHost *
const, int, int, int, int, const media::AudioParameters &)) 0x7f523bfe85d0
<content::AudioRendererHost::OnCreateStream(int, int, int, int,
media::AudioParameters const&)>, obj=0x2722362a0640)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/tuple.h:246
#4 DispatchToMethod<content::AudioRendererHost, void
(content::AudioRendererHost::*)(int, int, int, int, media::AudioParameters
const&), int, int, int, int, media::AudioParameters> (arg=..., method=
(void (content::AudioRendererHost::*)(content::AudioRendererHost *
const, int, int, int, int, const media::AudioParameters &)) 0x7f523bfe85d0
<content::AudioRendererHost::OnCreateStream(int, int, int, int,
media::AudioParameters const&)>, obj=0x2722362a0640)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/tuple.h:253
#5 Dispatch<content::AudioRendererHost, content::AudioRendererHost, void,
void (content::AudioRendererHost::*)(int, int, int, int,
media::AudioParameters const&)> (sender=0x2722362a0640, parameter=0x0, func=
(void (content::AudioRendererHost::*)(content::AudioRendererHost *
const, int, int, int, int, const media::AudioParameters &)) 0x7f523bfe85d0
<content::AudioRendererHost::OnCreateStream(int, int, int, int,
media::AudioParameters const&)>, obj=0x2722362a0640, msg=0x7f522edfd9f0)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/common/media/audio_messages.h:86
#6 content::AudioRendererHost::OnMessageReceived (this=0x2722362a0640,
message=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/renderer_host/media/audio_renderer_host.cc:305
#7 0x00007f5239c1682a in DispatchMessage (message=...,
this=0x27223615d600)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/public/browser/browser_message_filter.cc:89
#8 content::BrowserMessageFilter::Internal::OnMessageReceived
(this=0x27223615d600, message=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/public/browser/browser_message_filter.cc:64
#9 0x00007f5239940a03 in TryFiltersImpl (message=..., filters=std::vector
of length 2, capacity 2 = {...})
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/message_filter_router.cc:18
#10 IPC::MessageFilterRouter::TryFilters (this=<optimized out>,
message=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/message_filter_router.cc:83
#11 0x00007f523993d489 in IPC::ChannelProxy::Context::TryFilters
(this=this@entry=0x27223608e840, message=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/ipc_channel_proxy.cc:75
#12 0x00007f523a7e4e41 in IPC::ChannelProxy::Context::OnMessageReceived
(this=0x27223608e840, message=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/ipc_channel_proxy.cc:92
#13 0x00007f5239c8440c in IPC::ChannelMojo::OnMessageReceived
(this=0x27223608e8f0, message=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/mojo/ipc_channel_mojo.cc:327
#14 0x00007f5239c84cfc in OnMessageReceived (this=0x272236395d20)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/mojo/ipc_message_pipe_reader.cc:87
#15 IPC::internal::MessagePipeReader::ReadAvailableMessages
(this=this@entry=0x272236395d20)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/mojo/ipc_message_pipe_reader.cc:150
#16 0x00007f523d57450b in
IPC::internal::MessagePipeReader::ReadMessagesThenWait
(this=0x272236395d20)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/mojo/ipc_message_pipe_reader.cc:157
#17 0x00007f5239c85428 in Run (args#0=@0x7f522edfda84: 0, this=<optimized
out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#18 InvokeCallback (result=0, this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/mojo/async_handle_waiter.cc:139
#19 InvokeWaiterCallback (this=0x2722363f3720)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/mojo/async_handle_waiter.cc:78
#20 IPC::internal::AsyncHandleWaiter::Context::DidProcessIOEvent
(this=0x2722363f3720)
at ../../../../../../../home/chrome-bot/chrome_root/src/ipc/mojo/async_handle_waiter.cc:105
#21 0x00007f52398aad5f in DidProcessIOEvent (this=0x272235339840)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_libevent.cc:308
#22 OnFileCanReadWithoutBlocking (pump=0x272235339840, fd=104,
this=0x2722363f37b0)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_libevent.cc:100
#23 base::MessagePumpLibevent::OnLibeventNotification (fd=104,
flags=<optimized out>, context=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_libevent.cc:354
#24 0x00007f52398b0f8d in event_process_active (base=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/third_party/libevent/event.c:373
#25 event_base_loop (base=0x272235319a00, flags=1)
at ../../../../../../../home/chrome-bot/chrome_root/src/third_party/libevent/event.c:513
#26 0x00007f52398a9dc6 in base::MessagePumpLibevent::Run
(this=0x272235339840, delegate=0x272235321a80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_libevent.cc:269
#27 0x00007f523a1772a2 in base::RunLoop::Run
(this=this@entry=0x7f522edfdcb0)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/run_loop.cc:55
#28 0x00007f523a166ad5 in base::MessageLoop::Run
(this=this@entry=0x272235321a80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:317
#29 0x00007f523a188748 in base::Thread::Run
(this=this@entry=0x272235366a50,
message_loop=message_loop@entry=0x272235321a80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/thread.cc:174
#30 0x00007f523bd8c551 in content::BrowserThreadImpl::IOThreadRun
(this=this@entry=0x272235366a50,
message_loop=message_loop@entry=0x272235321a80)

at ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/browser_thread_impl.cc:218
#31 0x00007f523bd8c71b in content::BrowserThreadImpl::Run
(this=0x272235366a50, message_loop=0x272235321a80)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/browser_thread_impl.cc:253
#32 0x00007f523a18882f in base::Thread::ThreadMain (this=0x272235366a50)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/thread.cc:228
#33 0x00007f523a18649f in base::(anonymous namespace)::ThreadFunc
(params=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/platform_thread_posix.cc:80
#34 0x00007f5237fe8223 in ?? ()
#35 0x0000000000000000 in ?? ()

chro...@googlecode.com

unread,
Feb 5, 2015, 5:21:23 AM2/5/15
to chromi...@chromium.org

Comment #88 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Found who called AudioOutputIPCImpl::CreateStream.
Took longer than expected. Crash at AudioOutputIPCImpl::CreateStream only
crash a renderer process, and does not generate the coredump at
/mnt/stateful_partition/encrypted/var/coredumps like #87.
The trick is to pass --no-sandbox argument to chrome to get coredump from
renderer process at /var/coredumps.


(gdb) bt
#0 0x00007ff42c561bd1 in
content::AudioMessageFilter::AudioOutputIPCImpl::CreateStream
(this=0x2c6dd29ac000, delegate=0x2c6dd1b980e0, params=..., session_id=0)

at ../../../../../../../home/chrome-bot/chrome_root/src/content/renderer/media/audio_message_filter.cc:87
#1 0x00007ff429b36fa8 in Run (this=0x7ff41ff89b08)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#2 base::debug::TaskAnnotator::RunTask (this=this@entry=0x2c6dd13ce5d0,
queue_function=queue_function@entry=0x7ff42df83951 "MessageLoop::PostTask",
run_function=run_function@entry=0x7ff42df8393c "MessageLoop::RunTask",
pending_task=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
#3 0x00007ff429b25bb6 in RunTask (pending_task=..., this=0x2c6dd13ce480)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:459
#4 DeferOrRunPendingTask (pending_task=..., this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:468
#5 base::MessageLoop::DoWork (this=0x2c6dd13ce480)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:580
#6 0x00007ff429b33cb9 in base::MessagePumpLibevent::Run
(this=0x2c6dd13b5240, delegate=0x2c6dd13ce480)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_libevent.cc:232
#7 0x00007ff42a4012a2 in base::RunLoop::Run
(this=this@entry=0x7ff41ff89d00)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/run_loop.cc:55
#8 0x00007ff42a3f0ad5 in base::MessageLoop::Run (this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:317
#9 0x00007ff42a41282f in base::Thread::ThreadMain (this=0x7fff1095cb88)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/thread.cc:228
#10 0x00007ff42a41049f in base::(anonymous namespace)::ThreadFunc
(params=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/platform_thread_posix.cc:80
#11 0x00007ff428272223 in start_thread (arg=0x7ff41ff8a700) at
pthread_create.c:309
#12 0x00007ff42798d16d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb) up
#1 0x00007ff429b36fa8 in Run (this=0x7ff41ff89b08)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
396 ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:
No
such file or directory.
(gdb)
#2 base::debug::TaskAnnotator::RunTask (this=this@entry=0x2c6dd13ce5d0,
queue_function=queue_function@entry=0x7ff42df83951 "MessageLoop::PostTask",
run_function=run_function@entry=0x7ff42df8393c "MessageLoop::RunTask",
pending_task=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
63 ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:
No
such file or directory.
(gdb) info local
stopwatch = {start_time_ = {ms_ = 9341863}, wallclock_duration_ms_ = 0,
current_thread_data_ = 0x2c6dd13c5a00, excluded_duration_ms_ = 0, parent_ =
0x7ff41ff89cb0}
queue_duration = {ms_ = 0}
trace_memory_unique_53 = {static enabled_ = false}
trace_event_unique_category_group_enabled53 = 0x7ff42ed6b040
<base::debug::(anonymous namespace)::g_category_group_enabled> ""
program_counter = 0x7ff42d58e23c <media::AudioOutputDevice::Start()+156>


( we can see it came from AudioOutputDevice::Start()
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/audio_output_device.cc&cl=GROK&l=83
)


trace_event_unique_atomic53 = 140686734569536
trace_event_unique_tracer53 = {p_data_ = 0x0, data_ =
{category_group_enabled = 0x7ff42799a88d <__GI___clock_gettime+29> "H=",
name = 0x2c6dd1f017e0 "0\270\234.\364\177", event_handle = {chunk_seq =
699595830, chunk_index = 32756,
event_index = 0}}}
(gdb) up
#3 0x00007ff429b25bb6 in RunTask (pending_task=..., this=0x2c6dd13ce480)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:459
459 ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:
No
such file or directory.

Now I need to set crash at AudioOutputDevice::Start() to see who post a
task to do AudioOutputDevice::CreateStreamOnIOThread.

chro...@googlecode.com

unread,
Feb 5, 2015, 6:57:22 AM2/5/15
to chromi...@chromium.org

Comment #89 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Another round of backtrace shows that AudioOutputDevice::Start can be
traced back to
DecoderStream<StreamType>::OnDecorderSelected.

OnDecorderSelected is set as callback in
DecoderStream<StreamType>::SelectDecoder when it calls
decoder_selector_->SelectDecoder

https://code.google.com/p/chromium/codesearch#chromium/src/media/filters/decoder_stream.cc&q=OnDecoderSelected&sq=package:chromium&l=212&type=cs

So, the next round is to find out who calls
DecoderStream<StreamType>::SelectDecoder.


(gdb) bt
#0 0x00007f6a353f71a1 in media::AudioOutputDevice::Start
(this=0x3379fe705dd0)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/audio/audio_output_device.cc:80
#1 0x00007f6a343cbf51 in content::AudioRendererMixerManager::GetMixer
(this=0x3379fe156540, source_render_view_id=<optimized out>,
source_render_frame_id=1, params=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/content/renderer/media/audio_renderer_mixer_manager.cc:89
#2 0x00007f6a353fc50f in Run (args#0=..., this=0x3379fe020d18)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#3 media::AudioRendererMixerInput::Start (this=0x3379fe020cf0)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/audio_renderer_mixer_input.cc:46
#4 0x00007f6a3445fd42 in media::WebAudioSourceProviderImpl::Start
(this=0x3379fde5b1e0)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/blink/webaudiosourceprovider_impl.cc:132
#5 0x00007f6a3545fb31 in
media::AudioRendererImpl::OnAudioBufferStreamInitialized
(this=0x3379fe27f3c0, success=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/audio_renderer_impl.cc:359
#6 0x00007f6a35464bd5 in Run (args#0=@0x7f6a2556d840: true,
this=0x7f6a2556d850)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#7 media::DecoderStream<(media::DemuxerStream::Type)1>::OnDecoderSelected
(this=0x3379fde550e0, selected_decoder=..., decrypting_demuxer_stream=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/decoder_stream.cc:268


--> DecoderStream<StreamType>::OnDecorderSelected is called.



#8 0x00007f6a35465b37 in Run (args#1=..., args#0=..., object=<optimized
out>, this=<synthetic pointer>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:185
#9 base::internal::InvokeHelper<true, void,
base::internal::RunnableAdapter<void
(media::DecoderStream<(media::DemuxerStream::Type)1>::*)(scoped_ptr<media::AudioDecoder,
base::DefaultDeleter<media::AudioDecoder> >, scoped_ptr<media
::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >)>, void
(base::WeakPtr<media::DecoderStream<(media::DemuxerStream::Type)1> >
const&, scoped_ptr<media::AudioDecoder, base::DefaultDeleter<media::Audio
Decoder> >, scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream>
>)>::MakeItSo(base::internal::RunnableAdapter<void
(media::DecoderStream<(media::DemuxerStream::Type)1>::*)(scoped_ptr<media
::AudioDecoder, base::DefaultDeleter<media::AudioDecoder> >,
scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >)>,
base::WeakPtr<media::DecoderStream<(media::DemuxerStream::Type)1> > co
nst&, scoped_ptr<media::AudioDecoder,
base::DefaultDeleter<media::AudioDecoder> >,
scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >) (runnable=...,
weak_ptr=...,
args#0=(media::AudioDecoder *) 0x0,
args#1=(media::DecryptingDemuxerStream *) 0x0)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:391
#10 0x00007f6a35465bed in base::internal::Invoker<1,
base::internal::BindState<base::internal::RunnableAdapter<void
(media::DecoderStream<(media::DemuxerStream::Type)1>::*)(scoped_ptr<media::AudioDecoder,
base::DefaultDeleter<media:
:AudioDecoder> >, scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >)>, void
(media::DecoderStream<(media::DemuxerStream::Type)1>*,
scoped_ptr<media::AudioDecoder, base::DefaultDeleter<
media::AudioDecoder> >, scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >), void
(base::WeakPtr<media::DecoderStream<(media::DemuxerStream::Type)1> >)>,
void (media::DecoderStream<(med
ia::DemuxerStream::Type)1>*, scoped_ptr<media::AudioDecoder,
base::DefaultDeleter<media::AudioDecoder> >,
scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream>
>)>::Run(base::internal::BindS
tateBase*, scoped_ptr<media::AudioDecoder,
base::DefaultDeleter<media::AudioDecoder> >,
scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >) (base=<optimized
out>, x2=..., x3=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:625
#11 0x00007f6a3547a062 in base::Callback<void
(scoped_ptr<media::AudioDecoder, base::DefaultDeleter<media::AudioDecoder>
>, scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >)>::Run(sco
ped_ptr<media::AudioDecoder, base::DefaultDeleter<media::AudioDecoder> >,
scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >) const
(this=this@entry=0x7f6a2556d980,
args#0=(media::AudioDecoder *) 0x0,
args#1=(media::DecryptingDemuxerStream *) 0x0)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#12 0x00007f6a3547a119 in MakeItSo (args#1=..., args#0=..., runnable=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:381
#13 base::internal::Invoker<2,
base::internal::BindState<base::Callback<void
(scoped_ptr<media::AudioDecoder, base::DefaultDeleter<media::AudioDecoder>
>, scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::Decryp
tingDemuxerStream> >)>, void (scoped_ptr<media::AudioDecoder,
base::DefaultDeleter<media::AudioDecoder> >,
scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> >), void
(base::internal::Pas
sedWrapper<scoped_ptr<media::AudioDecoder,
base::DefaultDeleter<media::AudioDecoder> > >,
base::internal::PassedWrapper<scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream> > >)>, void (sco
ped_ptr<media::AudioDecoder, base::DefaultDeleter<media::AudioDecoder> >,
scoped_ptr<media::DecryptingDemuxerStream,
base::DefaultDeleter<media::DecryptingDemuxerStream>
>)>::Run(base::internal::BindStateBase*) (
base=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:562
#14 0x00007f6a3199ffa8 in Run (this=0x7f6a2556db38)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#15 base::debug::TaskAnnotator::RunTask (this=this@entry=0x3379fe245ed0,
queue_function=queue_function@entry=0x7f6a35dec951 "MessageLoop::PostTask",
run_function=run_function@entry=0x7f6a35dec93c "MessageLoop::RunTask",
pending_task=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
#16 0x00007f6a3198ebb6 in RunTask (pending_task=..., this=0x3379fe245d80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:459
#17 DeferOrRunPendingTask (pending_task=..., this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:468
#18 base::MessageLoop::DoWork (this=0x3379fe245d80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:580
#19 0x00007f6a3198f3b9 in base::MessagePumpDefault::Run
(this=0x3379fe2407c0, delegate=0x3379fe245d80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_default.cc:32
#20 0x00007f6a3226a2a2 in base::RunLoop::Run
(this=this@entry=0x7f6a2556dd00)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/run_loop.cc:55
#21 0x00007f6a32259ad5 in base::MessageLoop::Run (this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:317
#22 0x00007f6a3227b82f in base::Thread::ThreadMain (this=0x3379fe537540)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/thread.cc:228
#23 0x00007f6a3227949f in base::(anonymous namespace)::ThreadFunc
(params=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/platform_thread_posix.cc:80
#24 0x00007f6a300db223 in ?? ()
#25 0x0000000000000000 in ?? ()

chro...@googlecode.com

unread,
Feb 5, 2015, 7:33:23 AM2/5/15
to chromi...@chromium.org

Comment #90 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Another round of backtrace suggests it is from
FFmpegDemuxer::OnFindStreamInfoDone.
FFmpegDemuxer::OnFindStreamInfoDone is only referenced in
FFmpegDemuxer::OnOpenContextDone

https://code.google.com/p/chromium/codesearch#chromium/src/media/filters/ffmpeg_demuxer.cc&l=806&rcl=1423054664&sq=package:chromium

FFmpegDemuxer::OnOpenContextDone is only referenced in
FFmpegDemuxer::Initialize

so we need to find out what audio file is requested to play and thus
initialize a FFmpegDemuxer

up to #7 and use info local shows

(gdb) up
#7 media::FFmpegDemuxer::OnFindStreamInfoDone(base::Callback<void
(media::PipelineStatus)> const&, int) (this=<optimized out>, status_cb=...,
result=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/ffmpeg_demuxer.cc:1080
1080 ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/ffmpeg_demuxer.cc:
No
such file or directory.
(gdb) info local
start_time_estimates = <optimized out>
video_stream = <optimized out>
video_config = {codec_ = media::kUnknownVideoCodec, profile_ =
media::VIDEO_CODEC_PROFILE_UNKNOWN, format_ = media::VideoFrame::UNKNOWN,
coded_size_ = {width_ = 0, height_ = 0}, visible_rect_ = {origin_ = {x_ =
0, y_ = 0},
size_ = {width_ = 0, height_ = 0}}, natural_size_ = {width_ = 0,
height_ = 0}, extra_data_ = std::vector of length 0, capacity 0,
is_encrypted_ = false}
filesize_in_bytes = 56208
audio_stream = <optimized out>
audio_config = {codec_ = media::kCodecPCM, sample_format_ =
media::kSampleFormatS16, bytes_per_channel_ = 2, channel_layout_ =
media::CHANNEL_LAYOUT_STEREO, samples_per_second_ = 48000, bytes_per_frame_
= 4,
extra_data_ = std::vector of length 0, capacity 0, is_encrypted_ = false,
seek_preroll_ = {delta_ = 0}, codec_delay_ = 0}
max_duration = {delta_ = 292083}

Note that there is a filesize_in_bytes = 56208
Search for file of that size on dut we gets the result !!

/usr/share/chromeos-assets/input_methods/input_tools/sounds/keypress-delete.wav

Then we try to remove that file and start ui again. It still crash at the
same point, and it wants to play
/usr/share/chromeos-assets/input_methods/input_tools/sounds/keypress-return.wav
this time.

It is weird why it want to play a keypress sound, but not a specific sound.
Then we remove the entire sounds/ directory.

Then it does not crash at login screen.

I am going to do another round of backtrace setting crash at
FFmpegDemuxer::Initialize to see how that keypress sound request happened.




(gdb) bt
#0 0x00007fe077ad3fa1 in
media::DecoderStream<(media::DemuxerStream::Type)1>::SelectDecoder(base::Callback<void
(base::Callback<void (media::Decryptor*, base::Callback<void (bool)>
const&)> const&)> const&) (this=0x3ebca15e540,
set_decryptor_ready_cb=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/decoder_stream.cc:208
#1 0x00007fe077ad415e in
media::DecoderStream<(media::DemuxerStream::Type)1>::Initialize(media::DemuxerStream*,
base::Callback<void (bool)> const&, base::Callback<void
(base::Callback<void (media::Decryptor*, base::Callback<void (b
ool)> const&)> const&)> const&, base::Callback<void
(media::PipelineStatistics const&)> const&) (this=<optimized out>,
stream=stream@entry=0x3ebc9eaa800, init_cb=..., set_decryptor_ready_cb=...,
statistics_cb=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/decoder_stream.cc:98
#2 0x00007fe077ad06f8 in
media::AudioRendererImpl::Initialize(media::DemuxerStream*,
base::Callback<void (media::PipelineStatus)> const&, base::Callback<void
(base::Callback<void (media::Decryptor*, base::Callback<void (bool)> cons
t&)> const&)> const&, base::Callback<void (media::PipelineStatistics
const&)> const&, base::Callback<void (media::BufferingState)> const&,
base::Callback<void ()> const&, base::Callback<void
(media::PipelineStatus)> const&) (
this=0x3ebc9e64280, stream=0x3ebc9eaa800, init_cb=...,
set_decryptor_ready_cb=..., statistics_cb=..., buffering_state_cb=...,
ended_cb=..., error_cb=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/audio_renderer_impl.cc:320
#3 0x00007fe077aa2daa in media::RendererImpl::InitializeAudioRenderer
(this=0x7fe067bde490)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/renderer_impl.cc:261
#4 0x00007fe077a77465 in
media::Pipeline::InitializeRenderer(base::Callback<void
(media::PipelineStatus)> const&) (this=0x7fe067bde560, done_cb=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/pipeline.cc:727
#5 0x00007fe077a781d7 in media::Pipeline::StateTransitionTask
(this=0x3ebca13f240, status=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/pipeline.cc:345
#6 0x00007fe077a93225 in Run (args#0=@0x7fe067bde890: media::PIPELINE_OK,
this=0x3ebca403d30)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#7 media::FFmpegDemuxer::OnFindStreamInfoDone(base::Callback<void
(media::PipelineStatus)> const&, int) (this=<optimized out>, status_cb=...,
result=<optimized out>)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/filters/ffmpeg_demuxer.cc:1080

---->media::FFmpegDemuxer::OnFindStreamInfoDone


#8 0x00007fe0748ea944 in Run (this=0x3ebca4b1e38)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#9 base::(anonymous
namespace)::PostTaskAndReplyRelay::RunReplyAndSelfDestruct
(this=0x3ebca4b1e10)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/post_task_and_reply_impl.cc:58
#10 0x00007fe074010fa8 in Run (this=0x7fe067bdeb38)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#11 base::debug::TaskAnnotator::RunTask (this=this@entry=0x3ebca23ded0,
queue_function=queue_function@entry=0x7fe07845d951 "MessageLoop::PostTask",
run_function=run_function@entry=0x7fe07845d93c "MessageLoop::RunTask",
pending_task=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
#12 0x00007fe073fffbb6 in RunTask (pending_task=..., this=0x3ebca23dd80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:459
#13 DeferOrRunPendingTask (pending_task=..., this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:468
#14 base::MessageLoop::DoWork (this=0x3ebca23dd80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:580
#15 0x00007fe0740003b9 in base::MessagePumpDefault::Run
(this=0x3ebca21f7c0, delegate=0x3ebca23dd80)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_default.cc:32
#16 0x00007fe0748db2a2 in base::RunLoop::Run
(this=this@entry=0x7fe067bded00)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/run_loop.cc:55
#17 0x00007fe0748caad5 in base::MessageLoop::Run (this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:317
#18 0x00007fe0748ec82f in base::Thread::ThreadMain (this=0x3ebca1f7f00)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/thread.cc:228
#19 0x00007fe0748ea49f in base::(anonymous namespace)::ThreadFunc
(params=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/threading/platform_thread_posix.cc:80
#20 0x00007fe07274c223 in ?? ()
#21 0x0000000000000000 in ?? ()

chro...@googlecode.com

unread,
Feb 5, 2015, 9:57:25 AM2/5/15
to chromi...@chromium.org

Comment #91 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
FFmpegDemuxer::Initialize can be traced back to media::Pipeline::Start,
so I set another crash at media::Pipeline::Start and do a backtrace.
This backtrace is quite long, but we can look at level #3

#3 media::BufferedDataSource::StartCallback (this=0x572015d4640,
status=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/blink/buffered_data_source.cc:393
393 ../../../../../../../home/chrome-bot/chrome_root/src/media/blink/buffered_data_source.cc:
No
such file or directory.
(gdb) print *this
$11 = {<media::DataSource> = {_vptr.DataSource = 0x7f31d0a96110 <vtable for
media::BufferedDataSource+16>}, url_ = {spec_
= "chrome-extension://jkghodnilhceideoidjikpgommlajknk/sounds/keypress-delete.wav",
is_valid_ = true,


----> spec_
= "chrome-extension://jkghodnilhceideoidjikpgommlajknk/sounds/keypress-delete.wav"


Maybe this is keyboard chrome extension somehow getting triggered by a key
down event?



parsed_ = {scheme = {begin = 0, len = 16}, username = {begin = 0, len =
-1}, password = {begin = 0, len = -1}, host = {begin = 19, len = 32}, port
= {begin = 0, len = -1}, path = {begin = 51, len = 27}, query = {begin = 0,
len = -1}, ref = {begin = 0, len = -1}, inner_parsed_ = 0x0},
inner_url_ = (GURL *) 0x0}, cors_mode_ =
media::BufferedResourceLoader::kUnspecified, total_bytes_ = 56208,
streaming_ = false, frame_ = 0x12c884228000,
loader_ = (media::BufferedResourceLoader *) 0x57201641180, init_cb_ =
{<base::internal::CallbackBase> = {bind_state_ = {ptr_ = 0x0},
polymorphic_invoke_ = 0x0}, <No data fields>},
read_op_ = (media::BufferedDataSource::ReadOperation *) 0x0,
intermediate_read_buffer_ = std::vector of length 32768, capacity 32768 =
{0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000',
0 '\000'...}, render_task_runner_ = {ptr_ = 0x572015e9b60}, lock_ = {lock_
= {
native_handle_ = {__data = {__lock = 1, __count = 0, __owner = 26204,
__nusers = 1, __kind = 0, __spins = 0, __elision = 0, __list = {__prev =
0x0, __next = 0x0}},
__size = "\001\000\000\000\000\000\000\000\\f\000\000\001", '\000'
<repeats 26 times>, __align = 1}}}, stop_signal_received_ = false,
media_has_played_ = false, preload_ = media::BufferedDataSource::AUTO,
bitrate_ = 0,
playback_rate_ = 0, media_log_ = {ptr_ = 0x57201901e60}, host_ =
0x5720189fb60, downloading_cb_ = {<base::internal::CallbackBase> =
{bind_state_ = {ptr_ = 0x57202016d50},
polymorphic_invoke_ = 0x7f31ce71ea80 <base::internal::Invoker<1,
base::internal::BindState<base::internal::RunnableAdapter<void
(media::WebMediaPlayerImpl::*)(bool)>, void (media::WebMediaPlayerImpl*,
bool), void (base::WeakPt
r<media::WebMediaPlayerImpl>)>, void (media::WebMediaPlayerImpl*,
bool)>::Run(base::internal::BindStateBase*, bool const&)>}, <No data
fields>}, weak_ptr_ = {<base::internal::WeakPtrBase> = {ref_ = {flag_ = {
ptr_ = 0x572018fe4a0}}}, ptr_ = 0x572015d4640}, weak_factory_ =
{weak_reference_owner_ = {flag_ = {ptr_ = 0x572018fe4a0}}, ptr_ =
0x572015d4640}}



(gdb) bt
#0 0x00007f31cf6d3a01 in media::Pipeline::Start(media::Demuxer*,
scoped_ptr<media::Renderer, base::DefaultDeleter<media::Renderer> >,
base::Callback<void ()> const&, base::Callback<void
(media::PipelineStatus)> const&, base::Callba
ck<void (media::PipelineStatus)> const&, base::Callback<void
(media::PipelineMetadata)> const&, base::Callback<void
(media::BufferingState)> const&, base::Callback<void
(scoped_refptr<media::VideoFrame> const&)> const&, base::Callba
ck<void ()> const&, base::Callback<void (media::TextTrackConfig const&,
base::Callback<void (scoped_ptr<media::TextTrack,
base::DefaultDeleter<media::TextTrack> >)> const&)> const&)
(this=this@entry=0x5720189f940,
demuxer=0x572018c2100, renderer=(media::Renderer *) 0x57202053360,
ended_cb=..., error_cb=..., seek_cb=..., metadata_cb=...,
buffering_state_cb=..., paint_cb=..., duration_change_cb=...,
add_text_track_cb=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/media/base/pipeline.cc:73
#1 0x00007f31ce72003e in media::WebMediaPlayerImpl::StartPipeline
(this=0x5720189f900)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/blink/webmediaplayer_impl.cc:891
#2 0x00007f31ce724567 in Run (args#0=@0x7fff38539c5d: true,
this=0x7fff38539c60)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#3 media::BufferedDataSource::StartCallback (this=0x572015d4640,
status=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/blink/buffered_data_source.cc:393
#4 0x00007f31ce727efe in Run (args#0=@0x7fff38539cf0:
media::BufferedResourceLoader::kOk, this=0x7fff38539d00)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#5 DoneStart (status=media::BufferedResourceLoader::kOk,
this=0x57201641180)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/blink/buffered_resource_loader.cc:775
#6 media::BufferedResourceLoader::didReceiveResponse (this=<optimized
out>, loader=<optimized out>, response=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/media/blink/buffered_resource_loader.cc:441
#7 0x00007f31cd19e115 in
blink::AssociatedURLLoader::ClientAdapter::didReceiveResponse
(this=0x12c884278400, response=..., handle=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/third_party/WebKit/Source/web/AssociatedURLLoader.cpp:217
#8 0x00007f31cd59f74d in blink::DocumentThreadableLoader::handleResponse
(this=0x12c8842bc8c0, identifier=6, response=..., handle=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp:444
#9 0x00007f31cd59f911 in blink::DocumentThreadableLoader::responseReceived
(this=<optimized out>, resource=<optimized out>, response=..., handle=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp:374
#10 0x00007f31cd684506 in blink::RawResource::responseReceived
(this=0x12c884375080, response=..., handle=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/third_party/WebKit/Source/core/fetch/RawResource.cpp:106
#11 0x00007f31cd4f9b54 in blink::ResourceLoader::didReceiveResponse
(this=0x12c884380900, response=..., rawHandle=0x0)

at ../../../../../../../home/chrome-bot/chrome_root/src/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp:368
#12 0x00007f31cbfeb741 in
content::WebURLLoaderImpl::Context::OnReceivedResponse (this=0x572019180d0,
initial_info=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/child/web_url_loader_impl.cc:638
#13 0x00007f31cbfe6cb7 in content::ResourceDispatcher::OnReceivedResponse
(this=this@entry=0x572015c4a20, request_id=<optimized out>,
response_head=...)

at ../../../../../../../home/chrome-bot/chrome_root/src/content/child/resource_dispatcher.cc:392
#14 0x00007f31cbfe7f32 in DispatchToMethodImpl<content::ResourceDispatcher,
void (content::ResourceDispatcher::*)(int, content::ResourceResponseHead
const&), int, content::ResourceResponseHead, 0ul, 1ul> (arg=...,
method=<optimized out>, obj=0x572015c4a20)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/tuple.h:246
#15 DispatchToMethod<content::ResourceDispatcher, void
(content::ResourceDispatcher::*)(int, content::ResourceResponseHead
const&), int, content::ResourceResponseHead> (arg=..., method=<optimized
out>, obj=0x572015c4a20)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/tuple.h:253
#16 Dispatch<content::ResourceDispatcher, content::ResourceDispatcher,
void, void (content::ResourceDispatcher::*)(int,
content::ResourceResponseHead const&)> (sender=<optimized out>,
parameter=0x0, func=<optimized out>,
obj=0x572015c4a20, msg=0x572016bdf80)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/common/resource_messages.h:291
#17 DispatchMessage (message=..., this=0x572015c4a20)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/child/resource_dispatcher.cc:722
#18 content::ResourceDispatcher::OnMessageReceived (this=0x572015c4a20,
message=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/child/resource_dispatcher.cc:342
#19 0x00007f31cbc6dfa8 in Run (this=0x7fff3853add8)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#20 base::debug::TaskAnnotator::RunTask (this=this@entry=0x572015c449c,
queue_function=queue_function@entry=0x7f31d01367a6 "TaskQueueManager::PostTask",
run_function=run_function@entry=0x7f31d01367c1 "TaskQueueManager::RunTask",
pending_task=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
#21 0x00007f31cbff4add in ProcessTaskFromWorkQueue (queue_index=<optimized
out>, this=0x572015c4480)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/renderer/scheduler/task_queue_manager.cc:408
#22 DoWork (posted_from_main_thread=<optimized out>, this=0x572015c4480)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/renderer/scheduler/task_queue_manager.cc:380
#23 Run (args#0=<optimized out>, object=<optimized out>, this=<synthetic
pointer>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:185
#24 MakeItSo (args#0=<optimized out>, weak_ptr=..., runnable=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:391
#25 base::internal::Invoker<2,
base::internal::BindState<base::internal::RunnableAdapter<void
(content::TaskQueueManager::*)(bool)>, void (content::TaskQueueManager*,
bool), void (base::WeakPtr<content::TaskQueueManager>, bool)>, vo
id (content::TaskQueueManager*, bool)>::Run(base::internal::BindStateBase*)
(base=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/bind_internal.h:562
#26 0x00007f31cbc6dfa8 in Run (this=0x7fff3853afd8)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/callback.h:396
#27 base::debug::TaskAnnotator::RunTask (this=<optimized out>,
queue_function=<optimized out>, run_function=<optimized out>,
pending_task=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/debug/task_annotator.cc:63
#28 0x00007f31cbc5cbb6 in RunTask (pending_task=..., this=0x572015dd600)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:459
#29 DeferOrRunPendingTask (pending_task=..., this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:468
#30 base::MessageLoop::DoWork (this=0x572015dd600)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:580
#31 0x00007f31cbc5d3b9 in base::MessagePumpDefault::Run
(this=0x572015e9ba0, delegate=0x572015dd600)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_pump_default.cc:32
#32 0x00007f31cc5382a2 in base::RunLoop::Run (this=0x7fff3853b1a0)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/run_loop.cc:55
#33 0x00007f31cc527ad5 in base::MessageLoop::Run (this=<optimized out>)
at ../../../../../../../home/chrome-bot/chrome_root/src/base/message_loop/message_loop.cc:317
#34 0x00007f31ce5f4f72 in content::RendererMain (parameters=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/renderer/renderer_main.cc:228
#35 0x00007f31cc4f6620 in content::RunZygote (main_function_params=...,
delegate=delegate@entry=0x7fff3853ba00)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/app/content_main_runner.cc:347
#36 0x00007f31cc4f68db in content::RunNamedProcessTypeMain
(process_type="zygote", main_function_params=..., delegate=0x7fff3853ba00)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/app/content_main_runner.cc:431
#37 0x00007f31cc4f697b in content::ContentMainRunnerImpl::Run
(this=0x572015a7f50)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/app/content_main_runner.cc:800
#38 0x00007f31cc4f54c1 in content::ContentMain (params=...)
at ../../../../../../../home/chrome-bot/chrome_root/src/content/app/content_main.cc:19
#39 0x00007f31cc07738a in ChromeMain (argc=11, argv=0x7fff3853bb48)
at ../../../../../../../home/chrome-bot/chrome_root/src/chrome/app/chrome_main.cc:66
#40 0x00007f31c99f0f40 in ?? ()
#41 0x00007f31ca73a000 in ?? ()
#42 0x00007fff3853bb48 in ?? ()
#43 0x0000000b3853bba8 in ?? ()
#44 0x00007f31cbc473e0 in (anonymous
namespace)::ConvolveHorizontallyAlpha(unsigned char const*,
SkConvolutionFilter1D const&, unsigned char*) [clone .cold.13] ()
#45 0x0000000000000000 in ?? ()

chro...@googlecode.com

unread,
Feb 5, 2015, 10:21:26 AM2/5/15
to chromi...@chromium.org
Updates:
Owner: dalec...@chromium.org
Cc: shuc...@chromium.org

Comment #92 on issue 453560 by cychi...@chromium.org: No sound on HTML5 Web
Add input tool master @shuchen to take a closer look at why something wants
to play keyboard sound.
Summarize for shuchen:

In the very beginning of chrome start up (boot up and before user type
password to login), there is something asking to play keyboard sound in
/usr/share/chromeos-assets/input_methods/input_tools/sounds/. The call will
fail to talk to audio server because audio server is not ready yet. Chrome
audio resampler decides to use fallback device and then make all future
audio of the same format plays to fallback device. The backtraces tracking
down keyboard sound playing are in shown in #86~#91, especially in #91, we
can see spec_
= "chrome-extension://jkghodnilhceideoidjikpgommlajknk/sounds/keypress-delete.wav
in /media/blink/buffered_data_source.cc:393.

To verify the hypothesis of keyboard playing sound, I remove the directory

/usr/share/chromeos-assets/input_methods/input_tools/sounds/

And try 30 times all success.

There must be something wrong with this extension, or something generate
keydown event in the beginning of login and cause this issue.

Assign to Dale to see if the solution of fallback device can be made.
Shuchen is in PEK so I don't think he will read this until tomorrow.

chro...@googlecode.com

unread,
Feb 5, 2015, 1:41:45 PM2/5/15
to chromi...@chromium.org
Updates:
Cc: sp...@chromium.org dsod...@chromium.org yukishi...@chromium.org

Comment #94 on issue 453560 by dalec...@chromium.org: No sound on HTML5
Chrome changelog:
https://chromium.googlesource.com/chromium/src/+log/42.0.2289.0..42.0.2290.4?pretty=fuller&n=10000

CrOS changelog:
http://chromeos-images/diff/report?from=6734.0.0&to=6736.0.0

+spang, dsodman, yukishiino who have changes in those revisions which touch
keyboard events.

chro...@googlecode.com

unread,
Feb 5, 2015, 5:35:27 PM2/5/15
to chromi...@chromium.org
Updates:
Cc: tturche...@chromium.org

Comment #98 on issue 453560 by matthewy...@chromium.org: No sound on HTML5
Issue 455820 has been merged into this issue.

chro...@googlecode.com

unread,
Feb 5, 2015, 6:37:34 PM2/5/15
to chromi...@chromium.org

Comment #100 on issue 453560 by bugdro...@chromium.org: No sound on HTML5
Web Players (Youtube/ Vimeo)
https://code.google.com/p/chromium/issues/detail?id=453560#c100

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/c85184da42d043995203dbba777f08af00181d65

commit c85184da42d043995203dbba777f08af00181d65
Author: dalecurtis <dalec...@chromium.org>
Date: Thu Feb 05 23:19:45 2015

Purge AudioOutputDispatcher after close delay if no proxies exist.

This prevents transient audio creation errors from cumulatively
breaking audio output by blackholing everything to a fake audio
stream after fallback attempts are exhausted.

BUG=453560
TEST=new unittest, manual testing.

Review URL: https://codereview.chromium.org/899923003

Cr-Commit-Position: refs/heads/master@{#314910}

[modify]
http://crrev.com/c85184da42d043995203dbba777f08af00181d65/media/audio/audio_output_dispatcher_impl.cc
[modify]
http://crrev.com/c85184da42d043995203dbba777f08af00181d65/media/audio/audio_output_dispatcher_impl.h
[modify]
http://crrev.com/c85184da42d043995203dbba777f08af00181d65/media/audio/audio_output_proxy_unittest.cc
[modify]
http://crrev.com/c85184da42d043995203dbba777f08af00181d65/media/audio/audio_output_resampler.cc
[modify]
http://crrev.com/c85184da42d043995203dbba777f08af00181d65/media/audio/audio_output_resampler.h

chro...@googlecode.com

unread,
Feb 5, 2015, 7:25:37 PM2/5/15
to chromi...@chromium.org
Updates:
Labels: merge-merged-2292

Comment #101 on issue 453560 by bugdro...@chromium.org: No sound on HTML5
Web Players (Youtube/ Vimeo)
https://code.google.com/p/chromium/issues/detail?id=453560#c101

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/cf90555f627b9306dada8f32168ad9b7a0bb4fa1

commit cf90555f627b9306dada8f32168ad9b7a0bb4fa1
Author: matthewyuan <matth...@google.com>
Date: Thu Feb 05 23:43:57 2015

Purge AudioOutputDispatcher after close delay if no proxies exist.

This prevents transient audio creation errors from cumulatively
breaking audio output by blackholing everything to a fake audio
stream after fallback attempts are exhausted.

BUG=453560
TEST=new unittest, manual testing.

Review URL: https://codereview.chromium.org/899923003

Cr-Commit-Position: refs/heads/master@{#314910}
(cherry picked from commit c85184da42d043995203dbba777f08af00181d65)

Review URL: https://codereview.chromium.org/901053010

Cr-Commit-Position: refs/branch-heads/2292@{#5}
Cr-Branched-From:
6c9e3b3dd185d169364657a36a176b273b38e9e5-refs/heads/master@{#313889}

[modify]
http://crrev.com/cf90555f627b9306dada8f32168ad9b7a0bb4fa1/media/audio/audio_output_dispatcher_impl.cc
[modify]
http://crrev.com/cf90555f627b9306dada8f32168ad9b7a0bb4fa1/media/audio/audio_output_dispatcher_impl.h
[modify]
http://crrev.com/cf90555f627b9306dada8f32168ad9b7a0bb4fa1/media/audio/audio_output_proxy_unittest.cc
[modify]
http://crrev.com/cf90555f627b9306dada8f32168ad9b7a0bb4fa1/media/audio/audio_output_resampler.cc
[modify]
http://crrev.com/cf90555f627b9306dada8f32168ad9b7a0bb4fa1/media/audio/audio_output_resampler.h

chro...@googlecode.com

unread,
Feb 5, 2015, 7:27:37 PM2/5/15
to chromi...@chromium.org
Updates:
Blockedon: chromium:455938

Comment #102 on issue 453560 by dalec...@chromium.org: No sound on HTML5
The patch above is a longterm bandaid for these types of situations. The
real fixes are:
- Revert the broken xkb roll that wnwen@ mentions in c#99.
- Change the ChromeOS audio driver to handle deferred startup so that
accessibility sounds won't be dropped during login; issue 455938 tracks
this.

chro...@googlecode.com

unread,
Feb 5, 2015, 7:33:39 PM2/5/15
to chromi...@chromium.org

Comment #103 on issue 453560 by dalec...@chromium.org: No sound on HTML5
Probably some test should be created for the login page to ensure it's not
automatically trying to play sounds too.

chro...@googlecode.com

unread,
Feb 5, 2015, 11:36:52 PM2/5/15
to chromi...@chromium.org

Comment #107 on issue 453560 by wuyingb...@chromium.org: No sound on HTML5
I know why load the sounds file. I will change code to load the sounds
files later.
BTW, I can't repro the bug on
Version42.0.2293.0 unkonow (64-bit)
Platform 6738.0.0 (Offical Build) dev-channel link_freon
Was that means the bug fixed?

chro...@googlecode.com

unread,
Feb 6, 2015, 10:36:13 AM2/6/15
to chromi...@chromium.org

Comment #108 on issue 453560 by shuc...@chromium.org: No sound on HTML5 Web
6738.0.0 is too old to repro the bug here.

chro...@googlecode.com

unread,
Feb 6, 2015, 10:41:12 AM2/6/15
to chromi...@chromium.org
Updates:
Status: Fixed

Comment #109 on issue 453560 by shuc...@chromium.org: No sound on HTML5 Web
The fix is in 6761.0.0.
Reply all
Reply to author
Forward
0 new messages