Return invalid operation error if read/write called not in running state
[platform/core/api/audio-io.git] / src / cpp / CAudioInput.cpp
index 760c834..1e53881 100644 (file)
@@ -425,7 +425,10 @@ size_t CAudioInput::read(void* buffer, size_t length) throw(CAudioError) {
     if (buffer == NULL) {
         THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameters are NULL buffer:%p", buffer);
     }
-
+    if (CAudioIO::getState() != CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING) {
+        THROW_ERROR_MSG(CAudioError::EError::ERROR_INVALID_OPERATION,
+                        "Can't read if not in Running state");
+    }
     /* Checks synchronous flag */
     if (__mIsUsedSyncRead == false) {
         THROW_ERROR_MSG(CAudioError::EError::ERROR_INVALID_OPERATION, "Invalid operation of read() if receive stream callback");