mp4: Update GPAC support to v0.8.0 or later
authorA. David <aurelien.david@telecom-paristech.fr>
Thu, 2 Jul 2020 17:45:50 +0000 (19:45 +0200)
committerAdrian Bunk <bunk@debian.org>
Thu, 15 Jul 2021 12:06:22 +0000 (13:06 +0100)
Gbp-Pq: Name 0001-mp4-Update-GPAC-support-to-v0.8.0-or-later.patch

configure
output/mp4.c

index ec0932c75f6d6acb095d5f59ebee2b096e0338b3..dfb517a9a632170949502f5a3d5b7dfaa047b995 100755 (executable)
--- a/configure
+++ b/configure
@@ -1240,15 +1240,16 @@ if [ "$gpac" = "auto" -a "$lsmash" != "yes" ] ; then
     gpac="no"
     GPAC_LIBS="-lgpac"
     cc_check "" -lz && GPAC_LIBS="$GPAC_LIBS -lz"
+    cc_check "" -ldl && GPAC_LIBS="$GPAC_LIBS -ldl"
     if [ "$SYS" = "WINDOWS" ] ; then
         cc_check "" -lws2_32 && GPAC_LIBS="$GPAC_LIBS -lws2_32"
         cc_check "" -lwinmm && GPAC_LIBS="$GPAC_LIBS -lwinmm"
     fi
     if cc_check gpac/isomedia.h "$GPAC_LIBS" "gf_isom_close(0);" ; then
-        if cc_check gpac/isomedia.h "$GPAC_LIBS" "gf_isom_set_pixel_aspect_ratio(0,0,0,0,0);" ; then
+        if cc_check gpac/isomedia.h "$GPAC_LIBS" "gf_isom_set_pixel_aspect_ratio(0,0,0,0,0,0);" ; then
             gpac="yes"
         else
-            echo "Warning: gpac is too old, update to 2007-06-21 UTC or later"
+            echo "Warning: gpac is too old, update to v0.8.0 or later"
         fi
     fi
 fi
index 944e777113c4919520aeae131b542b9b2e0d3366..200cb33a9a19ae41c74f8b057cea3fdd0daf71af 100644 (file)
@@ -147,7 +147,11 @@ static int close_file( hnd_t handle, int64_t largest_pts, int64_t second_largest
             {
                 uint32_t mvhd_timescale = gf_isom_get_timescale( p_mp4->p_file );
                 uint64_t tkhd_duration = (uint64_t)( mdhd_duration * ( (double)mvhd_timescale / p_mp4->i_time_res ) );
+#if GPAC_VERSION_MAJOR > 8
+                gf_isom_append_edit( p_mp4->p_file, p_mp4->i_track, tkhd_duration, sample->CTS_Offset, GF_ISOM_EDIT_NORMAL );
+#else
                 gf_isom_append_edit_segment( p_mp4->p_file, p_mp4->i_track, tkhd_duration, sample->CTS_Offset, GF_ISOM_EDIT_NORMAL );
+#endif
             }
             gf_isom_sample_del( &sample );
 
@@ -233,7 +237,7 @@ static int set_param( hnd_t handle, x264_param_t *p_param )
             dw *= sar;
         else
             dh /= sar;
-        gf_isom_set_pixel_aspect_ratio( p_mp4->p_file, p_mp4->i_track, p_mp4->i_descidx, p_param->vui.i_sar_width, p_param->vui.i_sar_height );
+        gf_isom_set_pixel_aspect_ratio( p_mp4->p_file, p_mp4->i_track, p_mp4->i_descidx, p_param->vui.i_sar_width, p_param->vui.i_sar_height, 0 );
         gf_isom_set_track_layout_info( p_mp4->p_file, p_mp4->i_track, dw, dh, 0, 0, 0 );
     }