Ronald S. Bultje eafb17d140 Don't let finalize_packet() touch pkt->stream_index. Instead, let individual
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
2009-03-03 13:51:34 +00:00
2009-03-03 13:25:53 +00:00
2009-02-27 08:12:41 +00:00
2009-03-01 11:43:56 +00:00
2009-02-27 21:11:49 +00:00
2009-03-03 13:38:40 +00:00
2009-02-05 18:51:29 +00:00
2009-02-19 00:14:41 +00:00
2009-01-26 08:36:06 +00:00
2009-03-03 13:01:38 +00:00

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.
Description
No description provided
Readme 173 MiB
Languages
C 92.1%
Assembly 6%
Makefile 1.2%
C++ 0.3%
Objective-C 0.2%
Other 0.1%