DEMUXER_INSTANCE_CHECK(demuxer);
mediademuxer_s *handle;
handle = (mediademuxer_s *)(demuxer);
- if (handle && handle->demux_state == MEDIADEMUXER_IDLE) {
+ if (handle && handle->demux_state == MEDIADEMUXER_IDLE && handle->eos_cb != NULL) {
ret = md_prepare((MMHandleType) (handle->md_handle));
if (ret != MEDIADEMUXER_ERROR_NONE) {
MD_E("[CoreAPI][%s] DEMUXER_ERROR_INVALID_OPERATION(0x%08x)",
} else {
if (handle->demux_state != MEDIADEMUXER_IDLE)
return MEDIADEMUXER_ERROR_INVALID_STATE;
+ if (handle->eos_cb == NULL)
+ MD_E("EOS callback is not set\n");
MD_E("[CoreAPI][%s] DEMUXER_ERROR_INVALID_OPERATION(0x%08x)",
__FUNCTION__, MEDIADEMUXER_ERROR_INVALID_OPERATION);
return MEDIADEMUXER_ERROR_INVALID_OPERATION;
g_print("\n");
g_print("===========================================================================\n");
g_print(" media demuxer test\n");
- g_print(" SELECT : c -> (s) -> p -> (goto submenu) -> d -> q \n");
+ g_print(" SELECT : c -> (s) -> e -> p -> (goto submenu) -> d -> q \n");
g_print("---------------------------------------------------------------------------\n");
g_print("c. Create \t");
g_print("s. Set callback \t");
g_menu_state = CURRENT_STATUS_SET_DATA;
} else {
g_print("test_mediademuxer_prepare failed \n");
- g_menu_state = CURRENT_STATUS_FILENAME;
+ if (ret == MEDIADEMUXER_ERROR_INVALID_OPERATION)
+ g_menu_state = CURRENT_STATUS_MAINMENU;
+ else
+ g_menu_state = CURRENT_STATUS_FILENAME;
}
} else {
g_menu_state = CURRENT_STATUS_FILENAME;