On 19/08/13 20:49, John Stebbins wrote:
> From: Clément Bœsch <[email protected]>
> 
> The old method doesn't work when moov is relocated to beginning of file
> ---
>  libavformat/movenc.c | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index c7536f5..e6adb58 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -83,15 +83,25 @@ static int64_t update_size(AVIOContext *pb, int64_t pos)
>      return curpos - pos;
>  }
>  
> +static int is_co64_required(const MOVTrack *track)
> +{
> +    int i;
> +
> +    for (i = 0; i < track->entry; i++) {
> +        if (track->cluster[i].pos + track->data_offset > UINT32_MAX)
> +            return 1;
> +    }
> +    return 0;
> +}

A saner approach would be keeping the value in the track and act
accordingly.

lu



_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to