mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
Mirror of https://git.ffmpeg.org/ffmpeg.git
eafb17d140
payload handlers take care of that themselves at their own option. What this patch really does is "fix" a bug in MS-RTSP protocol where incoming packets are always coming in over the connection (UDP) or interleave-id (TCP) of the stream-id of the first ASF packet in the RTP packet. However, RTP packets may contain multiple ASF packets (and usually do, from what I can see), and therefore this leads to playback bugs. The intended stream-id per ASF packet is given in the respective ASF packet header. The ASF demuxer will correctly read this and set pkt->stream_index, but since the "stream" parameter can not be known to rtpdec.c or any of the RTP/RTSP code, the "st" parameter in all these functions is basically invalid. Therefore, using st->id as pkt->stream_index leads to various playback bugs. The result of this patch is that pkt->stream_index is left untouched for RTP/ASF (and possibly for other payloads that have similar behaviour). The patch was discussed in the "[PATCH] rtpdec.c: don't overwrite pkt->stream_index in finalize_packet()" thread on the mailinglist. Originally committed as revision 17767 to svn://svn.ffmpeg.org/ffmpeg/trunk |
||
---|---|---|
doc | ||
ffpresets | ||
libavcodec | ||
libavdevice | ||
libavfilter | ||
libavformat | ||
libavutil | ||
libpostproc | ||
libswscale | ||
tests | ||
tools | ||
vhook | ||
Changelog | ||
cmdutils.c | ||
cmdutils.h | ||
common.mak | ||
configure | ||
COPYING.GPL | ||
COPYING.LGPL | ||
CREDITS | ||
Doxyfile | ||
ffmpeg.c | ||
ffplay.c | ||
ffserver.c | ||
ffserver.h | ||
INSTALL | ||
MAINTAINERS | ||
Makefile | ||
output_example.c | ||
README | ||
subdir.mak | ||
version.sh |
FFmpeg README ------------- 1) Documentation ---------------- * Read the documentation in the doc/ directory. 2) Licensing ------------ * Read the file COPYING.LGPL. FFmpeg and the associated libraries EXCEPT for libpostproc are licensed under the GNU Lesser General Public License. * libpostproc is distributed under the GNU General Public License, see the file COPYING.GPL for details. Its compilation and use in FFmpeg is optional. * libswscale contains some optional processor-specific optimizations that are distributed under the GNU General Public License. * The files libavcodec/x86/idct_mmx.c, libavcodec/x86/h264_deblock_sse2.asm and libavcodec/x86/h264_idct_sse2.asm are distributed under the GNU General Public License. They are strictly optimizations and their use is optional. * The file libavcodec/ac3dec.c is distributed under the GNU General Public License. In order for (E-)AC-3 decoding to work you need to enable GPL components. * The file libavdevice/x11grab.c is distributed under the GNU General Public License. X11 grabbing is optional. * The files libavcodec/jfdctfst.c, libavcodec/jfdctint.c, libavcodec/jrevdct.c are taken from libjpeg, see the top of the files for licensing details. * The file libavcodec/fdctref.c is copyrighted by the MPEG Software Simulation Group with all rights reserved. It is only used to create a DCT test program and not compiled into libavcodec. * Some external libraries are under GPL. If you wish to use them with FFmpeg, you have to configure FFmpeg as GPL as well.