[vlc-devel] [PATCH] demux: mp4: fix can't recognize clcp media type's closed caption

Hyeon-Ju Lee zorurione at gmail.com
Mon May 13 00:21:38 CEST 2019


in TrackCreateES() don't compare case of i_handler is ATOM_clcp
It makes can't create track for clcp media type
print this debug messages and vlc player can't recognize closed caption

debug messages:
    mp4 demux debug: track[Id 0x4] read 32 samples length:80s
    mp4 demux error: cannot create es for track[Id 0x4]
    mp4 demux debug: ignoring track[Id 0x4]

I tested by using this sample videos:
    https://sampleplatform.ccextractor.org/sample/download/45
    https://sampleplatform.ccextractor.org/sample/download/130

reference:
    https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html#//apple_ref/doc/uid/TP40000939-CH205-SW87

---
 modules/demux/mp4/mp4.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index 5d4febe..def160e 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -3000,7 +3000,8 @@ static int TrackCreateES( demux_t *p_demux, mp4_track_t *p_track,
     case SPU_ES:
         if ( ( p_sample->i_handler != ATOM_text &&
                p_sample->i_handler != ATOM_subt &&
-               p_sample->i_handler != ATOM_sbtl ) ||
+               p_sample->i_handler != ATOM_sbtl &&
+               p_sample->i_handler != ATOM_clcp ) ||
              !SetupSpuES( p_demux, p_track, p_sample ) )
            return VLC_EGENERIC;
         break;
-- 
2.7.4



More information about the vlc-devel mailing list