Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Issue 10583009: Revert 142862 - Change the way we are stopping audio stream on Mac once again. (Closed)

Created:
8 years, 6 months ago by kkania
Modified:
8 years, 6 months ago
Reviewers:
enal
CC:
chromium-reviews, feature-media-reviews_chromium.org
Visibility:
Public.

Description

Revert 142862 - Change the way we are stopping audio stream on Mac once again. r142235 was not enough, we were not touching audio buffers after stop, but OS could still touch audio queue. That causes problems if we were deleting audio stream immediately after stopping, e.g. if audio mixer tried to keep audio stream opened after last logical stream stopped and then stopped/closed it. I was able to reproduce the problem locally (for whatever reason this time it worked), and after the fix it (finally) went away -- browsert_tests PPAPITest.Audio_Creation successfully runs for 300 iterations. When I revert to previos way of signaling, problem resurfaces again. Fix is to use "property listener" to listen to "is running" audio queue property, and signal "stream stopped" event only after "is running" property changes to false. Functions that do are documented in the Apple core audio documentation but not used in samples, so they are hard to find if you don't know what to look for. Also re-enabling mixer change to keep physical stream opened for some time, That should complete browser-side mixer work and fix several related bugs. BUG=102395 BUG=114701 BUG=129190 BUG=131720 TEST=No observable diffs, but crashes and seek problems should go away. Review URL: https://chromiumcodereview.appspot.com/10560038 TBR=enal@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=142886

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -79 lines) Patch
M media/audio/audio_output_mixer.cc View 3 chunks +34 lines, -16 lines 0 comments Download
M media/audio/mac/audio_output_mac.h View 2 chunks +4 lines, -11 lines 0 comments Download
M media/audio/mac/audio_output_mac.cc View 4 chunks +18 lines, -52 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
kkania
8 years, 6 months ago (2012-06-19 01:18:29 UTC) #1
kkania
8 years, 6 months ago (2012-06-19 01:21:40 UTC) #2
Failed on Mac 10.5 bots:

[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from PPAPINaClNewlibTest, where TypeParam = 
[ RUN      ] PPAPINaClNewlibTest.Audio_Creation
[1787,2953064448:17:41:00.145905] Native Client module will be loaded at base
address 0x0000000027600000
[1787,2953064448:17:41:00.585845] NaClMakePcrelThunk: got addr 0x67600000
browser_tests(1733,0xb5445000) malloc: *** error for object 0x978400: incorrect
checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
[SRPC:HOST:1737,2691053344:17:41:01.035629] NaClSrpcRpcWait(channel=0x1c2b08):
EOF is received instead of response. Probably, the other side (usually, nacl
module or browser plugin) crashed.




PPAPINaClGLibcTest.Audio_Creation: 
[4282,2953064448:17:50:04.619253] Native Client module will be loaded at base
address 0x0000000027600000
[4282,2953064448:17:50:04.660245] NaClMakePcrelThunk: got addr 0x67600000
[SRPC:HOST:4279,2691053344:17:50:08.242946] NaClSrpcRpcWait(channel=0x1dab68):
EOF is received instead of response. Probably, the other side (usually, nacl
module or browser plugin) crashed.
[4277:-1312591872:0618/175011:814739607180:ERROR:audio_output_mac.cc(103)] error
 (-66681)
[4277:-1253814272:0618/175011:814745472726:INFO:nacl_process_host.cc(157)] NaCl
process exited with status 0 (0x0)
Killed (timed out).

Powered by Google App Engine
This is Rietveld 408576698