| OLD | NEW |
| 1 /* | 1 /* |
| 2 * RTSP muxer | 2 * RTSP muxer |
| 3 * Copyright (c) 2010 Martin Storsjo | 3 * Copyright (c) 2010 Martin Storsjo |
| 4 * | 4 * |
| 5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
| 6 * | 6 * |
| 7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 /* The interleaving header is exactly 4 bytes, which happens to be | 78 /* The interleaving header is exactly 4 bytes, which happens to be |
| 79 * the same size as the packet length header from | 79 * the same size as the packet length header from |
| 80 * url_open_dyn_packet_buf. So by writing the interleaving header | 80 * url_open_dyn_packet_buf. So by writing the interleaving header |
| 81 * over these bytes, we get a consecutive interleaved packet | 81 * over these bytes, we get a consecutive interleaved packet |
| 82 * that can be written in one call. */ | 82 * that can be written in one call. */ |
| 83 interleaved_packet = interleave_header = ptr; | 83 interleaved_packet = interleave_header = ptr; |
| 84 ptr += 4; | 84 ptr += 4; |
| 85 size -= 4; | 85 size -= 4; |
| 86 if (packet_len > size || packet_len < 2) | 86 if (packet_len > size || packet_len < 2) |
| 87 break; | 87 break; |
| 88 if (ptr[1] >= 200 && ptr[1] <= 204) | 88 if (ptr[1] >= RTCP_SR && ptr[1] <= RTCP_APP) |
| 89 id = rtsp_st->interleaved_max; /* RTCP */ | 89 id = rtsp_st->interleaved_max; /* RTCP */ |
| 90 else | 90 else |
| 91 id = rtsp_st->interleaved_min; /* RTP */ | 91 id = rtsp_st->interleaved_min; /* RTP */ |
| 92 interleave_header[0] = '$'; | 92 interleave_header[0] = '$'; |
| 93 interleave_header[1] = id; | 93 interleave_header[1] = id; |
| 94 AV_WB16(interleave_header + 2, packet_len); | 94 AV_WB16(interleave_header + 2, packet_len); |
| 95 url_write(rt->rtsp_hd_out, interleaved_packet, 4 + packet_len); | 95 url_write(rt->rtsp_hd_out, interleaved_packet, 4 + packet_len); |
| 96 ptr += packet_len; | 96 ptr += packet_len; |
| 97 size -= packet_len; | 97 size -= packet_len; |
| 98 } | 98 } |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 NULL, | 173 NULL, |
| 174 sizeof(RTSPState), | 174 sizeof(RTSPState), |
| 175 CODEC_ID_AAC, | 175 CODEC_ID_AAC, |
| 176 CODEC_ID_MPEG4, | 176 CODEC_ID_MPEG4, |
| 177 rtsp_write_header, | 177 rtsp_write_header, |
| 178 rtsp_write_packet, | 178 rtsp_write_packet, |
| 179 rtsp_write_close, | 179 rtsp_write_close, |
| 180 .flags = AVFMT_NOFILE | AVFMT_GLOBALHEADER, | 180 .flags = AVFMT_NOFILE | AVFMT_GLOBALHEADER, |
| 181 }; | 181 }; |
| 182 | 182 |
| OLD | NEW |