summaryrefslogtreecommitdiffstats
path: root/sub/dec_sub.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2012-08-16 18:21:21 +0300
committerwm4 <wm4@nowhere>2012-09-18 21:04:46 +0200
commit44d8ec9272ad265aae02b064a0c5f4a80db5a107 (patch)
treec7a7b311f0022c26cc783f6020bf0c50f90395ef /sub/dec_sub.c
parent435d7c97c900a53adedcca32b07bb4a9a5f890d3 (diff)
downloadmpv-44d8ec9272ad265aae02b064a0c5f4a80db5a107.tar.bz2
mpv-44d8ec9272ad265aae02b064a0c5f4a80db5a107.tar.xz
sd_lavc: use subtitle framework for former av_sub.c code
Change libavcodec subtitle decoding code (used for some bitmap subtitle types) to use the same decoding framework as sd_ass. The functionality that was previously in av_sub.c and was directly called from mplayer.c is now in sd_lavc.c. Conflicts: mplayer.c sub/av_sub.h sub/sd_lavc.c Merged from mplayer2. The remaining use of is_av_sub() is replaced by a check whether a subtitle decoder is active, which should give the same results.
Diffstat (limited to 'sub/dec_sub.c')
-rw-r--r--sub/dec_sub.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sub/dec_sub.c b/sub/dec_sub.c
index 6a6d1d77e5..7528e90e58 100644
--- a/sub/dec_sub.c
+++ b/sub/dec_sub.c
@@ -27,6 +27,7 @@
#include "options.h"
extern const struct sd_functions sd_ass;
+extern const struct sd_functions sd_lavc;
void sub_init(struct sh_sub *sh, struct osd_state *osd)
{
@@ -36,8 +37,11 @@ void sub_init(struct sh_sub *sh, struct osd_state *osd)
if (opts->ass_enabled && is_text_sub(sh->type))
sh->sd_driver = &sd_ass;
#endif
+ if (strchr("bpx", sh->type))
+ sh->sd_driver = &sd_lavc;
if (sh->sd_driver) {
- sh->sd_driver->init(sh, osd);
+ if (sh->sd_driver->init(sh, osd) < 0)
+ return;
sh->initialized = true;
sh->active = true;
}