summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-common.h4
-rw-r--r--libmpdemux/demux_audio.c6
-rw-r--r--libmpdemux/demuxer.c4
-rw-r--r--options.h1
4 files changed, 6 insertions, 9 deletions
diff --git a/cfg-common.h b/cfg-common.h
index 836a1f8fa0..b9baf8fa3a 100644
--- a/cfg-common.h
+++ b/cfg-common.h
@@ -55,7 +55,6 @@ extern int reuse_socket;
extern int dvd_speed; /* stream/stream_dvd.c */
/* defined in libmpdemux: */
-extern int hr_mp3_seek;
extern const m_option_t demux_rawaudio_opts[];
extern const m_option_t demux_rawvideo_opts[];
extern const m_option_t cdda_opts[];
@@ -512,8 +511,7 @@ const m_option_t common_opts[] = {
OPT_STRING("alang", audio_lang, 0),
OPT_STRING("slang", sub_lang, 0),
- { "hr-mp3-seek", &hr_mp3_seek, CONF_TYPE_FLAG, 0, 0, 1, NULL },
- { "nohr-mp3-seek", &hr_mp3_seek, CONF_TYPE_FLAG, 0, 1, 0, NULL},
+ OPT_MAKE_FLAGS("hr-mp3-seek", hr_mp3_seek, 0),
{ "rawaudio", &demux_rawaudio_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
{ "rawvideo", &demux_rawvideo_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c
index 16118a4139..84ecc50130 100644
--- a/libmpdemux/demux_audio.c
+++ b/libmpdemux/demux_audio.c
@@ -17,6 +17,7 @@
*/
#include "config.h"
+#include "options.h"
#include "mp_msg.h"
#include <stdlib.h>
@@ -62,8 +63,6 @@ typedef struct mp3_hdr {
struct mp3_hdr *next;
} mp3_hdr_t;
-int hr_mp3_seek = 0;
-
/**
* \brief free a list of MP3 header descriptions
* \param list pointer to the head-of-list pointer
@@ -618,6 +617,7 @@ static void high_res_mp3_seek(demuxer_t *demuxer,float time) {
}
static void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
+ struct MPOpts *opts = demuxer->opts;
sh_audio_t* sh_audio;
stream_t* s;
int64_t base,pos;
@@ -629,7 +629,7 @@ static void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_
s = demuxer->stream;
priv = demuxer->priv;
- if(priv->frmt == MP3 && hr_mp3_seek && !(flags & SEEK_FACTOR)) {
+ if(priv->frmt == MP3 && opts->hr_mp3_seek && !(flags & SEEK_FACTOR)) {
len = (flags & SEEK_ABSOLUTE) ? rel_seek_secs - priv->next_pts : rel_seek_secs;
if(len < 0) {
stream_seek(s,demuxer->movi_start);
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index b73f0c961a..553da281b0 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -1068,8 +1068,6 @@ static struct demuxer *demux_open_stream(struct MPOpts *opts,
return demuxer;
}
-extern int hr_mp3_seek;
-
extern float stream_cache_min_percent;
extern float stream_cache_seek_min_percent;
@@ -1159,7 +1157,7 @@ demuxer_t *demux_open(struct MPOpts *opts, stream_t *vs, int file_format,
free_stream(as);
} else if (ad->audio->sh
&& ((sh_audio_t *) ad->audio->sh)->format == 0x55) // MP3
- hr_mp3_seek = 1; // Enable high res seeking
+ opts->hr_mp3_seek = 1; // Enable high res seeking
}
if (ss) {
sd = demux_open_stream(opts, ss,
diff --git a/options.h b/options.h
index b81744d248..b503175b17 100644
--- a/options.h
+++ b/options.h
@@ -45,6 +45,7 @@ typedef struct MPOpts {
int sub_id;
char *audio_lang;
char *sub_lang;
+ int hr_mp3_seek;
char *audio_stream;
int audio_stream_cache;