Index: apps/app_chanspy.c =================================================================== --- apps/app_chanspy.c (revision 215998) +++ apps/app_chanspy.c (working copy) @@ -427,7 +427,12 @@ return -1; } - f = ast_audiohook_read_frame(&csth->spy_audiohook, samples, AST_AUDIOHOOK_DIRECTION_BOTH, AST_FORMAT_SLINEAR); + if (ast_test_flag(chan, OPTION_READONLY)) { + /* Option 'o' was set, so don't mix channel audio */ + f = ast_audiohook_read_frame(&csth->spy_audiohook, samples, AST_AUDIOHOOK_DIRECTION_READ, AST_FORMAT_SLINEAR); + } else { + f = ast_audiohook_read_frame(&csth->spy_audiohook, samples, AST_AUDIOHOOK_DIRECTION_BOTH, AST_FORMAT_SLINEAR); + } ast_audiohook_unlock(&csth->spy_audiohook);