Merge "aaudio test: add tests for after release" into rvc-dev

gugelfrei
TreeHugger Robot 4 years ago committed by Android (Google) Code Review
commit e202fc24bc

@ -75,12 +75,33 @@ void checkReleaseThenClose(aaudio_performance_mode_t perfMode,
EXPECT_EQ(AAUDIO_OK, AAudioStream_requestStop(aaudioStream));
EXPECT_EQ(AAUDIO_OK, AAudioStream_release(aaudioStream));
aaudio_stream_state_t state = AAudioStream_getState(aaudioStream);
EXPECT_EQ(AAUDIO_STREAM_STATE_CLOSING, state);
EXPECT_EQ(AAUDIO_STREAM_STATE_CLOSING, AAudioStream_getState(aaudioStream));
// We should be able to call this again without crashing.
EXPECT_EQ(AAUDIO_OK, AAudioStream_release(aaudioStream));
state = AAudioStream_getState(aaudioStream);
EXPECT_EQ(AAUDIO_STREAM_STATE_CLOSING, AAudioStream_getState(aaudioStream));
// We expect these not to crash.
AAudioStream_setBufferSizeInFrames(aaudioStream, 0);
AAudioStream_setBufferSizeInFrames(aaudioStream, 99999999);
// We should NOT be able to start or change a stream after it has been released.
EXPECT_EQ(AAUDIO_ERROR_INVALID_STATE, AAudioStream_requestStart(aaudioStream));
EXPECT_EQ(AAUDIO_STREAM_STATE_CLOSING, AAudioStream_getState(aaudioStream));
EXPECT_EQ(AAUDIO_ERROR_INVALID_STATE, AAudioStream_requestPause(aaudioStream));
EXPECT_EQ(AAUDIO_STREAM_STATE_CLOSING, AAudioStream_getState(aaudioStream));
EXPECT_EQ(AAUDIO_ERROR_INVALID_STATE, AAudioStream_requestStop(aaudioStream));
EXPECT_EQ(AAUDIO_STREAM_STATE_CLOSING, AAudioStream_getState(aaudioStream));
// Does this crash?
EXPECT_LT(0, AAudioStream_getFramesRead(aaudioStream));
EXPECT_LT(0, AAudioStream_getFramesWritten(aaudioStream));
// Verify Closing State. Does this crash?
aaudio_stream_state_t state = AAUDIO_STREAM_STATE_UNKNOWN;
EXPECT_EQ(AAUDIO_OK, AAudioStream_waitForStateChange(aaudioStream,
AAUDIO_STREAM_STATE_UNKNOWN, &state,
500 * NANOS_PER_MILLISECOND));
EXPECT_EQ(AAUDIO_STREAM_STATE_CLOSING, state);
EXPECT_EQ(AAUDIO_OK, AAudioStream_close(aaudioStream));

Loading…
Cancel
Save