summaryrefslogtreecommitdiffstats
path: root/command.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-11-26 20:52:35 +0000
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-12-16 04:47:15 +0200
commit21df1d5ec5681c744ba8679c8484c3e451d36f13 (patch)
tree5ec4100a1f93311d3531a34a621658fc4b6666c3 /command.c
parenta9b5a9348d51465167c0907a2913f6f14ad28d00 (diff)
downloadmpv-21df1d5ec5681c744ba8679c8484c3e451d36f13.tar.bz2
mpv-21df1d5ec5681c744ba8679c8484c3e451d36f13.tar.xz
core: avoid using build_afilter_chain() directly
build_afilter_chain is not safe to use directly, thus make it static and instead use reinit_audio_chain which should have better error handling. Fixes a crash with -af hrtf and changing speed, audio will still stop playing though. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32648 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'command.c')
-rw-r--r--command.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/command.c b/command.c
index 4ffe29a351..798842b9cd 100644
--- a/command.c
+++ b/command.c
@@ -263,14 +263,14 @@ static int mp_property_playback_speed(m_option_t *prop, int action,
return M_PROPERTY_ERROR;
M_PROPERTY_CLAMP(prop, *(float *) arg);
opts->playback_speed = *(float *) arg;
- build_afilter_chain(mpctx, mpctx->sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
return M_PROPERTY_OK;
case M_PROPERTY_STEP_UP:
case M_PROPERTY_STEP_DOWN:
opts->playback_speed += (arg ? *(float *) arg : 0.1) *
(action == M_PROPERTY_STEP_DOWN ? -1 : 1);
M_PROPERTY_CLAMP(prop, opts->playback_speed);
- build_afilter_chain(mpctx, mpctx->sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
return M_PROPERTY_OK;
}
return m_property_float_range(prop, action, arg, &opts->playback_speed);
@@ -2821,7 +2821,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
case MP_CMD_SPEED_INCR:{
float v = cmd->args[0].v.f;
opts->playback_speed += v;
- build_afilter_chain(mpctx, sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
set_osd_tmsg(OSD_MSG_SPEED, 1, osd_duration, "Speed: x %6.2f",
opts->playback_speed);
} break;
@@ -2829,7 +2829,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
case MP_CMD_SPEED_MULT:{
float v = cmd->args[0].v.f;
opts->playback_speed *= v;
- build_afilter_chain(mpctx, sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
set_osd_tmsg(OSD_MSG_SPEED, 1, osd_duration, "Speed: x %6.2f",
opts->playback_speed);
} break;
@@ -2837,7 +2837,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
case MP_CMD_SPEED_SET:{
float v = cmd->args[0].v.f;
opts->playback_speed = v;
- build_afilter_chain(mpctx, sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
set_osd_tmsg(OSD_MSG_SPEED, 1, osd_duration, "Speed: x %6.2f",
opts->playback_speed);
} break;
@@ -3513,7 +3513,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
else
af_add(mpctx->mixer.afilter, af_command);
}
- build_afilter_chain(mpctx, sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
free(af_args);
}
break;
@@ -3522,7 +3522,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
break;
af_uninit(mpctx->mixer.afilter);
af_init(mpctx->mixer.afilter);
- build_afilter_chain(mpctx, sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
break;
case MP_CMD_AF_CMDLINE:
if (sh_audio) {