[FFmpeg-devel] [PATCH] avformat/rtpdec_rfc4175: Fix incorrect copy_offset calculation

Michael Niedermayer michael at niedermayer.cc
Sat Jun 22 11:20:08 EEST 2019


On Fri, Jun 21, 2019 at 05:55:23AM +0000, Jacob Siddall wrote:
>  > doesnt apply with git
> 
>  >
>  > Applying: avformat/rtpdec_rfc4175: Fix incorrect copy_offset calculation
>  > Using index info to reconstruct a base tree...
>  > error: patch failed: libavformat/rtpdec_rfc4175.c:206
>  > error: libavformat/rtpdec_rfc4175.c: patch does not apply
>  > error: Did you hand edit your patch?
>  > It does not apply to blobs recorded in its index.
>  > Patch failed at 0001 avformat/rtpdec_rfc4175: Fix incorrect 
> copy_offset calculation
> 
> The patch successfully applies for me.
> A few of my friends have tried and they also had success.
> 
> The steps I tried were:
>     1. Cloned a fresh copy of the ffmpeg repository (and checked out master)
>     2. Downloaded the mbox file from patchwork
>     3. Applied the patch file using "git am <patch file>.patch"
> 
> I also tried the above steps with a plain text copy of my patch email
> and that worked too.
> 
> Other than that, I'm not really sure what else to do.
> 
> I've attached the plain text copy of my patch email to this email.
> 
> Let me know if there's anything else I can do to help.
> 
> Regards,
> Jacob

> Subject: [PATCH] avformat/rtpdec_rfc4175: Fix incorrect copy_offset calculation
> From: Jacob Siddall <kobe at live.com.au>
> Date: 20/6/19, 2:21 pm
> To: ffmpeg-devel at ffmpeg.org
> CC: Jacob Siddall <kobe at live.com.au>
> 
> The previous calculation code did not account for the fact that the
> copy_offset for the start of the frame array is at index 0, yet the
> scan line number from the rfc4175 RTP header starts at 1.
> This caused 2 issues to appear:
> - The first scan line was being copied into the array where the second
>   scan line should be. This caused the resulting video to have a green
>   line at the top of it.
> - Since the packet containing the last scan line would fail the
>   calculation, the packet with the RTP marker would not be processed
>   which caused a log message saying "Missed previous RTP marker" to be
>   outputted for each frame.
> 
> Signed-off-by: Jacob Siddall <kobe at live.com.au>
> ---
>  libavformat/rtpdec_rfc4175.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavformat/rtpdec_rfc4175.c b/libavformat/rtpdec_rfc4175.c
> index e9c62c1..ec838fe 100644
> --- a/libavformat/rtpdec_rfc4175.c
> +++ b/libavformat/rtpdec_rfc4175.c
> @@ -206,7 +206,7 @@ static int rfc4175_handle_packet(AVFormatContext *ctx, PayloadContext *data,
>              length = payload_len;
>  
>          /* prevent ill-formed packets to write after buffer's end */
> -        copy_offset = (line * data->width + offset) * data->pgroup / data->xinc;
> +        copy_offset = ((line - 1) * data->width + offset) * data->pgroup / data->xinc;

what happens if line is 0 or is this somehow prevented ?

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

You can kill me, but you cannot change the truth.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190622/ba6ecab7/attachment.sig>


More information about the ffmpeg-devel mailing list