changeset 25462:3e033aabc9d2

Combine common code for check whether chapter is available.
author ulion
date Sat, 22 Dec 2007 06:20:48 +0000
parents 7ef04742572c
children 2a0982bac1b0
files command.c
diffstat 1 files changed, 4 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/command.c	Sat Dec 22 06:14:38 2007 +0000
+++ b/command.c	Sat Dec 22 06:20:48 2007 +0000
@@ -385,11 +385,12 @@
     int step_all;
     char *chapter_name = NULL;
 
+    chapter = demuxer_get_current_chapter(mpctx->demuxer);
+    if (chapter < 0)
+        return M_PROPERTY_UNAVAILABLE;
+
     switch (action) {
     case M_PROPERTY_GET:
-        chapter = demuxer_get_current_chapter(mpctx->demuxer);
-        if (chapter < 0)
-            return M_PROPERTY_UNAVAILABLE;
         if (!arg)
             return M_PROPERTY_ERROR;
         *(int *) arg = chapter;
@@ -397,9 +398,6 @@
     case M_PROPERTY_PRINT: {
         if (!arg)
             return M_PROPERTY_ERROR;
-        chapter = demuxer_get_current_chapter(mpctx->demuxer);
-        if (chapter < 0)
-            return M_PROPERTY_UNAVAILABLE;
         chapter_name = demuxer_chapter_display_name(mpctx->demuxer, chapter);
         if (!chapter_name)
             return M_PROPERTY_UNAVAILABLE;
@@ -410,9 +408,6 @@
         if (!arg)
             return M_PROPERTY_ERROR;
         M_PROPERTY_CLAMP(prop, *(int*)arg);
-        chapter = demuxer_get_current_chapter(mpctx->demuxer);
-        if (chapter < 0)
-            return M_PROPERTY_UNAVAILABLE;
         step_all = *(int *)arg - (chapter + 1);
         chapter += step_all;
         break;
@@ -420,9 +415,6 @@
     case M_PROPERTY_STEP_DOWN: {
         step_all = (arg && *(int*)arg != 0 ? *(int*)arg : 1)
                    * (action == M_PROPERTY_STEP_UP ? 1 : -1);
-        chapter = demuxer_get_current_chapter(mpctx->demuxer);
-        if (chapter < 0)
-            return M_PROPERTY_UNAVAILABLE;
         chapter += step_all;
         if (chapter < 0)
             chapter = 0;