0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/core/defaultopts.c
wm4 3486f59fe2 core: automatically pause on low cache
When the cache fill status goes below a certain threshold, automatically
pause the player. When the cache is filled again, unpause again.

This is intended to help with streaming from http. It's better to pause
a while, rather than exposing extremely crappy behavior when packet
reads during decoding block the entire player.

In theory, we should try to increase the cache if underruns happen too
often. Unfortunately, changing the cache implementation would be very
hard, because it's insane code (forks, uses shared memory and "volatile"
etc.). So for now, this just reduces the frequency of the stuttering if
the network is absolutely too slow to play the stream in realtime.
2012-12-03 21:08:52 +01:00

82 lines
2.2 KiB
C

#include <stddef.h>
#include "config.h"
#include "defaultopts.h"
#include "core/options.h"
#include "audio/mixer.h"
void set_default_mplayer_options(struct MPOpts *opts)
{
*opts = (const struct MPOpts){
.audio_driver_list = NULL,
.video_driver_list = NULL,
.fixed_vo = 1,
.softvol = SOFTVOL_AUTO,
.softvol_max = 200,
.mixer_init_volume = -1,
.mixer_init_mute = -1,
.ao_buffersize = -1,
.vo_wintitle = "mpv - ${media-title}",
.monitor_pixel_aspect = 1.0,
.vo_panscanrange = 1.0,
.cursor_autohide_delay = 1000,
.vo_gamma_gamma = 1000,
.vo_gamma_brightness = 1000,
.vo_gamma_contrast = 1000,
.vo_gamma_saturation = 1000,
.vo_gamma_hue = 1000,
.osd_level = 1,
.osd_duration = 1000,
.loop_times = -1,
.ordered_chapters = 1,
.chapter_merge_threshold = 100,
.stream_cache_min_percent = 20.0,
.stream_cache_seek_min_percent = 50.0,
.stream_cache_pause = 10.0,
.chapterrange = {-1, -1},
.edition_id = -1,
.user_correct_pts = -1,
.initial_audio_sync = 1,
.term_osd = 2,
.consolecontrols = 1,
.doubleclick_time = 300,
.keep_open = 0,
.audio_id = -1,
.video_id = -1,
.sub_id = -1,
.sub_visibility = 1,
.extension_parsing = 1,
.audio_output_channels = 2,
.audio_output_format = -1, // AF_FORMAT_UNKNOWN
.playback_speed = 1.,
.drc_level = 1.,
.movie_aspect = -1.,
.flip = -1,
.sub_auto = 1,
#ifdef CONFIG_ASS
.ass_enabled = 1,
#endif
.sub_scale = 1,
.ass_vsfilter_aspect_compat = 1,
.ass_style_override = 1,
.use_embedded_fonts = 1,
.lavc_param = {
.workaround_bugs = 1, // autodetect
.error_concealment = 3,
},
.input = {
.key_fifo_size = 7,
.ar_delay = 100,
.ar_rate = 8,
.use_joystick = 1,
.use_lirc = 1,
.use_lircc = 1,
#ifdef CONFIG_APPLE_REMOTE
.use_ar = 1,
#endif
.default_bindings = 1,
}
};
}