[vlc-commits] [Git][videolan/vlc][3.0.x] demux: mp4: base chapters + ES logic on brand instead of codec

Jean-Baptiste Kempf (@jbk) gitlab at videolan.org
Wed May 3 13:26:36 UTC 2023



Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
ed4a65e6 by Francois Cartegnie at 2023-05-03T11:23:59+00:00
demux: mp4: base chapters + ES logic on brand instead of codec

This fix no longer relies on the codec and allows
to avoid enabling chapters as SPU_ES as ffmpeg muxes chapters the
Quicktime way without using that brand.

refs #25561

(cherry picked from commit ca6551dd951e0bc529dc946781bdba53707504b1)

- - - - -


1 changed file:

- modules/demux/mp4/mp4.c


Changes:

=====================================
modules/demux/mp4/mp4.c
=====================================
@@ -85,6 +85,7 @@ struct demux_sys_t
     mp4_track_t  *track;         /* array of track */
     float        f_fps;          /* number of frame per seconds */
 
+    bool         b_quicktime;
     bool         b_fragmented;   /* fMP4 */
     bool         b_seekable;
     bool         b_fastseekable;
@@ -766,6 +767,7 @@ static int Open( vlc_object_t * p_this )
                 break;
             case MAJOR_qt__:
                 msg_Dbg( p_demux, "Apple QuickTime media" );
+                p_sys->b_quicktime = true;
                 break;
             case MAJOR_isml:
                 msg_Dbg( p_demux, "PIFF (= isml = fMP4) media" );
@@ -3465,10 +3467,9 @@ static void MP4_TrackSetup( demux_t *p_demux, mp4_track_t *p_track,
 
         for( i = 0; i < p_chap->i_entry_count; i++ )
         {
-            if( p_track->i_track_ID == p_chap->i_track_ID[i] &&
-                p_track->fmt.i_cat == UNKNOWN_ES )
+            if( p_track->i_track_ID == p_chap->i_track_ID[i] )
             {
-                p_track->b_chapters_source = true;
+                p_track->b_chapters_source = !p_sys->b_quicktime;
                 p_track->b_enable = false;
                 break;
             }



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ed4a65e64f07bfe2464d8c13d5e8e14bd0c9cae0

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ed4a65e64f07bfe2464d8c13d5e8e14bd0c9cae0
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list