summaryrefslogtreecommitdiffstats
path: root/libhb/muxavformat.c
diff options
context:
space:
mode:
Diffstat (limited to 'libhb/muxavformat.c')
-rw-r--r--libhb/muxavformat.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c
index 72e23f496..284e92718 100644
--- a/libhb/muxavformat.c
+++ b/libhb/muxavformat.c
@@ -1044,8 +1044,10 @@ static int avformatMux(hb_mux_object_t *m, hb_mux_data_t *track, hb_buffer_t *bu
{
// There is a possiblility that some subtitles get through the pipeline
// without ever discovering their true duration. Make the duration
- // 10 seconds in this case.
- if (track->type == MUX_TYPE_SUBTITLE)
+ // 10 seconds in this case. Unless they are PGS subs which should
+ // have zero duration.
+ if (track->type == MUX_TYPE_SUBTITLE &&
+ track->st->codec->codec_id != AV_CODEC_ID_HDMV_PGS_SUBTITLE)
duration = av_rescale_q(10, (AVRational){1,1},
track->st->time_base);
else