mirror of
https://github.com/mpv-player/mpv
synced 2024-12-16 03:45:23 +00:00
The patch adds support for a per-file config, which is loaded before
playing the file. The config file is looked for in the same directory as the input file, and in the ~/.mplayer dir. Magne Oestlyngen <ml@skybert.org> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8615 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
90e4cb1c23
commit
52422f3769
35
mplayer.c
35
mplayer.c
@ -521,6 +521,39 @@ if ((conffile = get_path("")) == NULL) {
|
||||
}
|
||||
}
|
||||
|
||||
void load_per_file_config (m_config_t* conf, const char *const file)
|
||||
{
|
||||
char *confpath;
|
||||
char cfg[PATH_MAX];
|
||||
struct stat st;
|
||||
char *name;
|
||||
|
||||
sprintf (cfg, "%s.conf", file);
|
||||
|
||||
if (!stat (cfg, &st))
|
||||
{
|
||||
mp_msg(MSGT_CPLAYER,MSGL_INFO,"Loading config '%s'\n", cfg);
|
||||
m_config_parse_config_file (conf, cfg);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((name = strrchr (cfg, '/')) == NULL)
|
||||
name = cfg;
|
||||
else
|
||||
name++;
|
||||
|
||||
if ((confpath = get_path (name)) != NULL)
|
||||
{
|
||||
if (!stat (confpath, &st))
|
||||
{
|
||||
mp_msg(MSGT_CPLAYER,MSGL_INFO,"Loading config '%s'\n", confpath);
|
||||
m_config_parse_config_file (conf, confpath);
|
||||
}
|
||||
|
||||
free (confpath);
|
||||
}
|
||||
}
|
||||
|
||||
// When libmpdemux perform a blocking operation (network connection or cache filling)
|
||||
// if the operation fail we use this function to check if it was interrupted by the user.
|
||||
// The function return a new value for eof.
|
||||
@ -971,6 +1004,8 @@ current_module = NULL;
|
||||
|
||||
play_next_file:
|
||||
|
||||
if (filename) load_per_file_config (mconfig, filename);
|
||||
|
||||
// We must enable getch2 here to be able to interrupt network connection
|
||||
// or cache filling
|
||||
if(!use_stdin && !slave_mode){
|
||||
|
Loading…
Reference in New Issue
Block a user