# HG changeset patch # User lucabe # Date 1188803650 0 # Node ID c13c82994800a4f84e28612cf03265c427a75957 # Parent 70b45051aef6916fbd41fe9d12af8bd508b7127b Correctly set the "P" field in the payload header diff -r 70b45051aef6 -r c13c82994800 rtp_mpv.c --- a/rtp_mpv.c Mon Sep 03 05:19:59 2007 +0000 +++ b/rtp_mpv.c Mon Sep 03 07:14:10 2007 +0000 @@ -31,11 +31,12 @@ AVStream *st = s1->streams[0]; int len, h, max_packet_size; uint8_t *q; - int begin_of_slice, end_of_slice; + int begin_of_slice, end_of_slice, frame_type; max_packet_size = s->max_payload_size; begin_of_slice = 1; end_of_slice = 0; + frame_type = 0; while (size > 0) { len = max_packet_size - 4; @@ -53,6 +54,10 @@ r = ff_find_start_code(r1, buf1 + size, &start_code); if((start_code & 0xFFFFFF00) == 0x100) { /* New start code found */ + if (start_code == 0x100) { + frame_type = (r[1] & 0x38) >> 3; + } + if (r - buf1 < len) { /* The current slice fits in the packet */ if (begin_of_slice == 0) { @@ -78,6 +83,7 @@ h = 0; h |= begin_of_slice << 12; h |= end_of_slice << 11; + h |= frame_type << 8; q = s->buf; *q++ = h >> 24;