diff mbox series

[FFmpeg-devel] use bits_per_coded_sample if bits_per_raw_sample equal to 0 in pcmc tag, fix bug #10433

Message ID PH7PR11MB74303E44E0849D3E530D68B3C402A@PH7PR11MB7430.namprd11.prod.outlook.com
State New
Headers show
Series [FFmpeg-devel] use bits_per_coded_sample if bits_per_raw_sample equal to 0 in pcmc tag, fix bug #10433 | expand

Checks

Context Check Description
yinshiyou/commit_msg_loongarch64 warning The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ".
andriy/commit_msg_x86 warning The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ".
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

hung kuishing July 24, 2023, 2:41 a.m. UTC
Signed-off-by: clarkh <hungkuishing@outlook.com>
---
 libavformat/movenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Zhao Zhili July 26, 2023, 4:02 a.m. UTC | #1
> On Jul 24, 2023, at 10:41, hung kuishing <hungkuishing@outlook.com> wrote:
> 
> Signed-off-by: clarkh <hungkuishing@outlook.com>
> ---
> libavformat/movenc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index f1cc80b1b3..d08c056438 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -1237,7 +1237,7 @@ static int mov_write_pcmc_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *tra
>                     track->par->codec_id == AV_CODEC_ID_PCM_S24LE ||
>                     track->par->codec_id == AV_CODEC_ID_PCM_S32LE);
>     avio_w8(pb, format_flags);
> -    avio_w8(pb, track->par->bits_per_raw_sample);
> +    avio_w8(pb, track->par->bits_per_raw_sample ? track->par->bits_per_raw_sample : track->par->bits_per_coded_sample);

Thanks for the bug report. I didn’t notice bits_per_raw_sample isn’t available
when remux raw PCM. It looks like a defect but I’m not sure.

Since both bits_per_raw_sample and bits_per_coded_sample can be 0 as the
comments in codec_par.h says, I decided to fallback to
av_get_exact_bits_per_sample().

http://ffmpeg.org/pipermail/ffmpeg-devel/2023-July/312653.html

PS: Please follow the commit message format next time:

2.10 Writing a commit message
https://ffmpeg.org/git-howto.html#Writing-a-commit-message

> 
>     return update_size(pb, pos);
> }
> -- 
> 2.39.2 (Apple Git-143)
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
hung kuishing July 26, 2023, 5:12 a.m. UTC | #2
> > On Jul 24, 2023, at 10:41, hung kuishing <hungkuishing@outlook.com>
> wrote:
> >
> > Signed-off-by: clarkh <hungkuishing@outlook.com>
> > ---
> > libavformat/movenc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> > index f1cc80b1b3..d08c056438 100644
> > --- a/libavformat/movenc.c
> > +++ b/libavformat/movenc.c
> > @@ -1237,7 +1237,7 @@ static int
> mov_write_pcmc_tag(AVFormatContext *s, AVIOContext *pb,
> MOVTrack *tra
> >                     track->par->codec_id ==
> AV_CODEC_ID_PCM_S24LE ||
> >                     track->par->codec_id ==
> AV_CODEC_ID_PCM_S32LE);
> >     avio_w8(pb, format_flags);
> > -    avio_w8(pb, track->par->bits_per_raw_sample);
> > +    avio_w8(pb, track->par->bits_per_raw_sample ?
> track->par->bits_per_raw_sample :
> track->par->bits_per_coded_sample);
> 
> Thanks for the bug report. I didn’t notice bits_per_raw_sample isn’t
> available
> when remux raw PCM. It looks like a defect but I’m not sure.
> 
> Since both bits_per_raw_sample and bits_per_coded_sample can be 0
> as the
> comments in codec_par.h says, I decided to fallback to
> av_get_exact_bits_per_sample().
> 
> http://ffmpeg.org/pipermail/ffmpeg-devel/2023-July/312653.html

I'm glad you fixed this bug.

> PS: Please follow the commit message format next time:
> 
> 2.10 Writing a commit message
> https://ffmpeg.org/git-howto.html#Writing-a-commit-message

Thank you for your guidance!
diff mbox series

Patch

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index f1cc80b1b3..d08c056438 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1237,7 +1237,7 @@  static int mov_write_pcmc_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *tra
                     track->par->codec_id == AV_CODEC_ID_PCM_S24LE ||
                     track->par->codec_id == AV_CODEC_ID_PCM_S32LE);
     avio_w8(pb, format_flags);
-    avio_w8(pb, track->par->bits_per_raw_sample);
+    avio_w8(pb, track->par->bits_per_raw_sample ? track->par->bits_per_raw_sample : track->par->bits_per_coded_sample);
 
     return update_size(pb, pos);
 }