From ca2a42329b4fda661a5bc9b8d5261bf713dbe99a Mon Sep 17 00:00:00 2001 From: Deepak Srivastava Date: Tue, 19 Jan 2016 09:21:11 +0530 Subject: [PATCH] Sync with 2.4 (Error handling when eos not set.) [1] Added description of test main menu('e') in display_sub_basic() Change-Id: I90ba549185efdb3f0fe4a298ba01a56613ad57f4 Signed-off-by: Deepak Srivastava --- src/mediademuxer.c | 4 +++- test/mediademuxer_test.c | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/mediademuxer.c b/src/mediademuxer.c index a48a649..e46e287 100755 --- a/src/mediademuxer.c +++ b/src/mediademuxer.c @@ -117,7 +117,7 @@ int mediademuxer_prepare(mediademuxer_h demuxer) 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)", @@ -128,6 +128,8 @@ int mediademuxer_prepare(mediademuxer_h demuxer) } 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; diff --git a/test/mediademuxer_test.c b/test/mediademuxer_test.c index de4faea..ec7b89a 100755 --- a/test/mediademuxer_test.c +++ b/test/mediademuxer_test.c @@ -826,7 +826,7 @@ static void display_sub_basic() 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"); @@ -929,7 +929,10 @@ static void interpret(char *cmd) 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; -- 2.7.4