diff options
Diffstat (limited to 'apps/recorder/recording.c')
-rw-r--r-- | apps/recorder/recording.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index 6a2b9257d4..715a06d823 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -25,6 +25,7 @@ | |||
25 | 25 | ||
26 | #include "system.h" | 26 | #include "system.h" |
27 | #include "power.h" | 27 | #include "power.h" |
28 | #include "powermgmt.h" | ||
28 | #include "lcd.h" | 29 | #include "lcd.h" |
29 | #include "led.h" | 30 | #include "led.h" |
30 | #include "mpeg.h" | 31 | #include "mpeg.h" |
@@ -717,6 +718,12 @@ void rec_command(enum recording_command cmd) | |||
717 | { | 718 | { |
718 | switch(cmd) | 719 | switch(cmd) |
719 | { | 720 | { |
721 | case RECORDING_CMD_STOP_SHUTDOWN: | ||
722 | pm_activate_clipcount(false); | ||
723 | audio_stop_recording(); | ||
724 | audio_close_recording(); | ||
725 | sys_poweroff(); | ||
726 | break; | ||
720 | case RECORDING_CMD_STOP: | 727 | case RECORDING_CMD_STOP: |
721 | pm_activate_clipcount(false); | 728 | pm_activate_clipcount(false); |
722 | audio_stop_recording(); | 729 | audio_stop_recording(); |
@@ -808,6 +815,10 @@ static void trigger_listener(int trigger_status) | |||
808 | /* tell recording_screen to reset the time */ | 815 | /* tell recording_screen to reset the time */ |
809 | last_seconds = 0; | 816 | last_seconds = 0; |
810 | break; | 817 | break; |
818 | |||
819 | case 3: /* Stop and shutdown */ | ||
820 | rec_command(RECORDING_CMD_STOP_SHUTDOWN); | ||
821 | break; | ||
811 | } | 822 | } |
812 | 823 | ||
813 | if (global_settings.rec_trigger_mode != TRIG_MODE_REARM) | 824 | if (global_settings.rec_trigger_mode != TRIG_MODE_REARM) |
@@ -1571,7 +1582,10 @@ bool recording_screen(bool no_source) | |||
1571 | { | 1582 | { |
1572 | peak_meter_trigger(false); | 1583 | peak_meter_trigger(false); |
1573 | peak_meter_set_trigger_listener(NULL); | 1584 | peak_meter_set_trigger_listener(NULL); |
1574 | rec_command(RECORDING_CMD_STOP); | 1585 | if( global_settings.rec_split_type == 1) |
1586 | rec_command(RECORDING_CMD_STOP); | ||
1587 | else | ||
1588 | rec_command(RECORDING_CMD_STOP_SHUTDOWN); | ||
1575 | } | 1589 | } |
1576 | update_countdown = 1; | 1590 | update_countdown = 1; |
1577 | } | 1591 | } |