From 58427fc9b8d84f3fa9320ab436228ace34c85ec2 Mon Sep 17 00:00:00 2001 From: Charles Duco Date: Fri, 11 Jan 2019 17:11:52 +0100 Subject: [PATCH] added webvtt support Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/0bc489d058ae39f92568a4f1f1ade33c25bfcdc3 Author: Charles Duco Date: 2019-01-11 (Fri, 11 Jan 2019) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libeplayer3-arm/container/container_ffmpeg.c | 7 +++++-- libeplayer3-arm/output/output_subtitle.c | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/libeplayer3-arm/container/container_ffmpeg.c b/libeplayer3-arm/container/container_ffmpeg.c index 85c365e..d1c6261 100644 --- a/libeplayer3-arm/container/container_ffmpeg.c +++ b/libeplayer3-arm/container/container_ffmpeg.c @@ -28,7 +28,6 @@ #include #include -#include #include #include #include @@ -41,6 +40,7 @@ #include #include #include +#include #include @@ -462,6 +462,8 @@ static char *Codec2Encoding(int32_t codec_id, int32_t media_type, uint8_t *extra return "S_TEXT/SRT"; case AV_CODEC_ID_SUBRIP: return "S_TEXT/SUBRIP"; + case AV_CODEC_ID_WEBVTT: + return "D_WEBVTT/SUBTITLES"; default: ffmpeg_err("Codec ID %d (%.8lx) not found\n", codec_id, codec_id); // Default to injected-pcm for unhandled audio types. @@ -2527,7 +2529,8 @@ int32_t container_ffmpeg_update_tracks(Context_t *context, char *filename, int32 #endif get_codecpar(stream)->codec_id != AV_CODEC_ID_SUBRIP && get_codecpar(stream)->codec_id != AV_CODEC_ID_TEXT && - get_codecpar(stream)->codec_id != AV_CODEC_ID_SRT) + get_codecpar(stream)->codec_id != AV_CODEC_ID_SRT && + get_codecpar(stream)->codec_id != AV_CODEC_ID_WEBVTT) { ffmpeg_printf(10, "subtitle with not supported codec codec_id[%u]\n", (uint32_t)get_codecpar(stream)->codec_id); } diff --git a/libeplayer3-arm/output/output_subtitle.c b/libeplayer3-arm/output/output_subtitle.c index 5810440..6d301ab 100644 --- a/libeplayer3-arm/output/output_subtitle.c +++ b/libeplayer3-arm/output/output_subtitle.c @@ -232,6 +232,10 @@ static int Write(Context_t *context, void *data) { fprintf(stderr, "{\"s_a\":{\"id\":%d,\"s\":%lld,\"e\":%lld,\"t\":\"%s\"}}\n", out->trackId, out->pts / 90, out->pts / 90 + out->durationMS, ass_get_text((char *)out->data)); } + else if (!strncmp("D_WEBVTT/SUBTITLES", Encoding, 18)) + { + fprintf(stderr, "{\"s_a\":{\"id\":%d,\"s\":%lld,\"e\":%lld,\"t\":\"%s\"}}\n", out->trackId, out->pts / 90, out->pts / 90 + out->durationMS, json_string_escape((char *)out->data)); + } else { subtitle_err("unknown encoding %s\n", Encoding);