From c071c9e805e6180e40df15f7d5e4028982789596 Mon Sep 17 00:00:00 2001 From: reimar Date: Mon, 31 May 2010 17:12:27 +0000 Subject: [PATCH 1/3] Extend the range of the -a52drc range up to two, as a experimental feature in case someone finds it useful. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31292 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 1 + cfg-common-opts.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 11f5c9685d..d50a988753 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -1173,6 +1173,7 @@ Select the Dynamic Range Compression level for AC-3 audio streams. is a float value ranging from 0 to 1, where 0 means no compression and 1 (which is the default) means full compression (make loud passages more silent and vice versa). +Values up to 2 are also accepted, but are purely experimental. This option only shows an effect if the AC-3 stream contains the required range compression information. . diff --git a/cfg-common-opts.h b/cfg-common-opts.h index bd78ab38b4..e783a79e9a 100644 --- a/cfg-common-opts.h +++ b/cfg-common-opts.h @@ -218,7 +218,7 @@ {"ignore-start", &ignore_start, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"noignore-start", &ignore_start, CONF_TYPE_FLAG, 0, 1, 0, NULL}, - {"a52drc", &drc_level, CONF_TYPE_FLOAT, CONF_RANGE, 0, 1, NULL}, + {"a52drc", &drc_level, CONF_TYPE_FLOAT, CONF_RANGE, 0, 2, NULL}, // ------------------------- codec/vfilter options -------------------- From e123aecb4825db7da60e67eae3a01d9222593d95 Mon Sep 17 00:00:00 2001 From: aurel Date: Mon, 31 May 2010 19:10:57 +0000 Subject: [PATCH 2/3] backport ass_flush_events() from upstream libass and make use of it This fixes subtitles duplication when seeking back in ass stream formated with the "standard" format FFmpeg uses. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31293 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libass/ass.c | 14 ++++++++++++++ libass/ass.h | 6 ++++++ mplayer.c | 5 +++++ 3 files changed, 25 insertions(+) diff --git a/libass/ass.c b/libass/ass.c index 6becb39e8e..1e8cddd00d 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -909,6 +909,20 @@ void ass_process_chunk(ASS_Track *track, char *data, int size, free(str); } +/** + * \brief Flush buffered events. + * \param track track +*/ +void ass_flush_events(ASS_Track *track) +{ + if (track->events) { + int eid; + for (eid = 0; eid < track->n_events; eid++) + ass_free_event(track, eid); + track->n_events = 0; + } +} + #ifdef CONFIG_ICONV /** \brief recode buffer to utf-8 * constraint: codepage != 0 diff --git a/libass/ass.h b/libass/ass.h index e7674a736c..03b690c063 100644 --- a/libass/ass.h +++ b/libass/ass.h @@ -316,6 +316,12 @@ void ass_process_codec_private(ASS_Track *track, char *data, int size); void ass_process_chunk(ASS_Track *track, char *data, int size, long long timecode, long long duration); +/** + * \brief Flush buffered events. + * \param track track +*/ +void ass_flush_events(ASS_Track *track); + /** * \brief Read subtitles from file. * \param library library handle diff --git a/mplayer.c b/mplayer.c index 98d36586ee..1c56ba3c19 100644 --- a/mplayer.c +++ b/mplayer.c @@ -2581,6 +2581,11 @@ static int seek(MPContext *mpctx, double amount, int style) vobsub_seek(vo_vobsub, mpctx->sh_video->pts); } +#ifdef CONFIG_ASS + if (ass_enabled && mpctx->d_sub->sh && ((sh_sub_t *)mpctx->d_sub->sh)->ass_track) + ass_flush_events(((sh_sub_t *)mpctx->d_sub->sh)->ass_track); +#endif + edl_seek_reset(mpctx); c_total = 0; From 9be39d06401362f3eb8aa12b22e7fde130defa2b Mon Sep 17 00:00:00 2001 From: aurel Date: Mon, 31 May 2010 19:44:02 +0000 Subject: [PATCH 3/3] Switch mkv demuxing to lavf by default. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31294 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_lavf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index bc1781c8a0..dad7208c3d 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -212,6 +212,7 @@ static const char * const preferred_list[] = { "gxf", "nut", "nuv", + "matroska", "mov,mp4,m4a,3gp,3g2,mj2", "mpc", "mpc8",