Commit Graph
100 Commits
Author SHA1 Message Date
Martin StorsjöandReinhard Tartler da21225ae2 configure: Don't explicitly disable ffplay or in/outdevices on dos
The normal dependency tracking system disables them just fine.
2011-03-24 09:20:05 +01:00
Martin StorsjöandReinhard Tartler 8bb605c11f configure: Remove the explicit disabling of ffserver
It is automatically disabled on both mingw and dos due to
the lack of fork.
2011-03-24 09:02:59 +01:00
Martin StorsjöandReinhard Tartler 1ff49c2314 configure: Add fork as a dependency to ffserver 2011-03-24 08:57:06 +01:00
Martin StorsjöandRonald S. Bultje 28e9c42afb rtsp: Don't use a locale dependent format string
In this particular case, we aren't ever printing anything else than
0.000 anyway.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-23 07:30:16 -04:00
Martin StorsjöandLuca Barbato e971d81364 Document usage of import libraries created by dlltool
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-23 01:23:21 +01:00
Martin StorsjöandLuca Barbato 15c5156d24 configure: Set the correct lib target for arm/wince dlltool
The correct machine name for dlltool is arm-wince.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-23 01:23:21 +01:00
Martin StorsjöandLuca Barbato 77e41e047d configure: Add the -D parameter to the dlltool command
This is required for the generated .lib file to actually
be usable by MSVC.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-21 22:02:55 +01:00
Martin StorsjöandLuca Barbato af79dd36f3 amr: Set the AVFMT_GENERIC_INDEX flag
This makes the amr demuxer support seeking, closing roundup
issue 2593.
2011-03-21 21:31:34 +01:00
Martin StorsjöandLuca Barbato 026fa81de4 amr: Set the pkt->pos field properly to the start of the packet
Previously, the field pointed to the second byte of the packet
(which is the first byte of the actual AMR payload).
2011-03-21 21:31:34 +01:00
Martin StorsjöandLuca Barbato 2890cba8b5 amr: Set the codec->bit_rate field based on the last packet
This allows libavformat to guess an estimated duration for
amr files.

For streams with varying bit rates (or with silence descriptors
or "no frame" blocks) the guess is, of course, inaccurate.
2011-03-21 21:31:33 +01:00
Martin StorsjöandLuca Barbato 895678f823 rtsp: Specify unicast for TCP interleaved streams, too
According to the RFC, the default is multicast if nothing is
specified, which doesn't make sense for TCP.

According to a bug report, some Axis camera models give a
"400 Bad Request" error if this is omitted.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-21 20:58:33 +01:00
Martin StorsjöandLuca Barbato dc8b73c069 applehttp: Change the variable for stream position in seconds into int64_t
A similar variable for the total stream duration was changed to
int64_t in b79c3df088, due to overflows in some odd
streams.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-21 20:16:53 +01:00
Martin StorsjöandRonald S. Bultje 648c79624f ffplay: Don't assume ic->pb is non-null
This fixes crashes on exit when plaing some RealRTSP streams
(among other), e.g.
rtsp://dl.lib.brown.edu:554/areserves/1093545294660883.mp3.
These crashes have been present since 3e68b3ba7b.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-21 15:08:09 -04:00
Martin StorsjöandLuca Barbato f1f60f5252 lavf: Make make_absolute_url a lavf internal function
This is shared by both applehttp demuxer and protocol.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-17 12:28:37 +01:00
Martin StorsjöandLuca Barbato dc6fdad5dc Add missed APIchanges and changelog entries
Add an APIchanges entry for the av_pkt_dump2 and av_pkt_dump_log2
functions, and a changelog entry for the apple http live streaming
protocol handler.

Since neither of them got a minor bump at commit time, but were
applied before the jv demuxer, they all can be considered added
in this minor version.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-17 12:28:37 +01:00
Martin StorsjöandMans Rullgard bc040cb3e2 applehttp: Fix a typo in a comment
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-17 11:20:21 +00:00
Martin StorsjöandMichael Niedermayer fb8d710fa9 Add Apple HTTP Live Streaming protocol handler
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit f4f4e12c0d)
2011-03-08 02:09:15 +01:00
Martin StorsjöandMichael Niedermayer de0bddea29 URLProtocol: Add URL_PROTOCOL_FLAG_NESTED_SCHEME
If this flag is set, the protocol can handle URLs where the
scheme is a nested scheme such as applehttp+file: - the protocol
can handle any URL where the first segment of the nested scheme
belongs to this protocol.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 8f73c06077)
2011-03-08 02:09:09 +01:00
Martin StorsjöandMichael Niedermayer 0ea285dd22 URLProtocol: Add a flags field
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit f3bea9915f)
2011-03-08 02:09:06 +01:00
Martin StorsjöandLuca Barbato f4f4e12c0d Add Apple HTTP Live Streaming protocol handler
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-06 23:29:39 +01:00
Martin StorsjöandLuca Barbato 8f73c06077 URLProtocol: Add URL_PROTOCOL_FLAG_NESTED_SCHEME
If this flag is set, the protocol can handle URLs where the
scheme is a nested scheme such as applehttp+file: - the protocol
can handle any URL where the first segment of the nested scheme
belongs to this protocol.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-06 23:29:39 +01:00
Martin StorsjöandLuca Barbato f3bea9915f URLProtocol: Add a flags field
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-06 23:29:39 +01:00
Martin StorsjöandMichael Niedermayer d34ffd3ce9 ffmpeg: Use av_pkt_dump_log2
This makes dumped packet timestamps proper for streams with
timebases other than AV_TIME_BASE.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 5e33e7bdac)
2011-03-03 14:15:11 +01:00
Martin StorsjöandMichael Niedermayer 08ad81cbff libavformat: Add av_pkt_dump{, _log}2, taking an AVStream parameter
This removes a fixme issue, by allowing the av_pkt_dump functions
to use the correct time base.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 863c471638)
2011-03-03 14:15:10 +01:00
Martin StorsjöandMichael Niedermayer 62d0a7453a aviobuf: Write new data at s->buf_end in fill_buffer
In most cases, s->buf_ptr will be equal to s->buf_end when
fill_buffer is called, but this may not always be the case, if
we're seeking forward by reading (permitted by the short seek
threshold).

If fill_buffer is writing to s->buf_ptr instead of s->buf_end (when
they aren't equal and s->buf_ptr is ahead of s->buffer), the data
between s->buf_ptr and s->buf_end is overwritten, leading to
inconsistent buffer content. This could return incorrect data if
later seeking back into the area before the current s->buf_ptr.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit e360ada2d1)
2011-03-03 14:15:09 +01:00
Martin StorsjöandLuca Barbato 5e33e7bdac ffmpeg: Use av_pkt_dump_log2
This makes dumped packet timestamps proper for streams with
timebases other than AV_TIME_BASE.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-02 11:29:38 +01:00
Martin StorsjöandLuca Barbato 863c471638 libavformat: Add av_pkt_dump{, _log}2, taking an AVStream parameter
This removes a fixme issue, by allowing the av_pkt_dump functions
to use the correct time base.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-02 11:29:38 +01:00
Martin StorsjöandLuca Barbato e360ada2d1 aviobuf: Write new data at s->buf_end in fill_buffer
In most cases, s->buf_ptr will be equal to s->buf_end when
fill_buffer is called, but this may not always be the case, if
we're seeking forward by reading (permitted by the short seek
threshold).

If fill_buffer is writing to s->buf_ptr instead of s->buf_end (when
they aren't equal and s->buf_ptr is ahead of s->buffer), the data
between s->buf_ptr and s->buf_end is overwritten, leading to
inconsistent buffer content. This could return incorrect data if
later seeking back into the area before the current s->buf_ptr.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-02 11:16:17 +01:00
Martin StorsjöandMichael Niedermayer c24a403496 libavformat: Remove FF_NETERRNO()
Map EAGAIN and EINTR from ff_neterrno to the normal AVERROR()
error codes. Provide fallback definitions of other errno.h network
errors, mapping them to the corresponding winsock errors.

This eases catching these error codes in common code, without having
to distinguish between FF_NETERRNO(EAGAIN) and AVERROR(EAGAIN).

This fixes roundup issue 2614, unbreaking blocking network IO on
windows.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 28c4741a66)
2011-02-23 18:22:03 +01:00
Martin StorsjöandRonald S. Bultje 28c4741a66 libavformat: Remove FF_NETERRNO()
Map EAGAIN and EINTR from ff_neterrno to the normal AVERROR()
error codes. Provide fallback definitions of other errno.h network
errors, mapping them to the corresponding winsock errors.

This eases catching these error codes in common code, without having
to distinguish between FF_NETERRNO(EAGAIN) and AVERROR(EAGAIN).

This fixes roundup issue 2614, unbreaking blocking network IO on
windows.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 07:21:31 -05:00
Martin StorsjöandMichael Niedermayer 003c32e72c ffserver: Try matching the RTSP url without a trailing slash
If the client sends PLAY/PAUSE requests with the same url as
specified in Content-Base, these requests may have urls with
trailing slashes.
(cherry picked from commit c2ca851b23)
2011-02-18 19:52:36 +01:00
Martin StorsjöandMichael Niedermayer 09e22efc7e rtsp: udp_read_packet returning 0 doesn't mean success
If udp_read_packet returns 0, rtsp_st isn't set and we shouldn't
treat it as a successfully received packet (which is counted and
possibly triggers a RTCP receiver report).

This fixes issue 2612.
(cherry picked from commit 2c35a6bde9)
2011-02-18 19:52:26 +01:00
Martin StorsjöandLuca Barbato c2ca851b23 ffserver: Try matching the RTSP url without a trailing slash
If the client sends PLAY/PAUSE requests with the same url as
specified in Content-Base, these requests may have urls with
trailing slashes.
2011-02-17 23:18:46 +01:00
Martin StorsjöandLuca Barbato 2c35a6bde9 rtsp: udp_read_packet returning 0 doesn't mean success
If udp_read_packet returns 0, rtsp_st isn't set and we shouldn't
treat it as a successfully received packet (which is counted and
possibly triggers a RTCP receiver report).

This fixes issue 2612.
2011-02-17 00:37:00 +01:00
Martin StorsjöandMichael Niedermayer ae9c5ea2ad rtsp/rdt: Assign the RTSPStream index to AVStream->id
This is used for mapping AVStreams back to their corresponding
RTSPStream. Since d9c0510, the RTSPStream pointer isn't stored in
AVStream->priv_data any longer, breaking this mapping from AVStreams
to RTSPStreams.

Also, we don't need to clear the priv_data in rdt cleanup any longer,
since it isn't set to duplicate pointers.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b2dd842d21)
2011-02-13 00:54:05 +01:00
Martin StorsjöandRonald S. Bultje b2dd842d21 rtsp/rdt: Assign the RTSPStream index to AVStream->id
This is used for mapping AVStreams back to their corresponding
RTSPStream. Since d9c0510, the RTSPStream pointer isn't stored in
AVStream->priv_data any longer, breaking this mapping from AVStreams
to RTSPStreams.

Also, we don't need to clear the priv_data in rdt cleanup any longer,
since it isn't set to duplicate pointers.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-11 16:58:19 -05:00
Martin StorsjöandMichael Niedermayer 105ba7dc28 applehttp: Handle absolute paths relative to the current server
This fixes roundup issue 2583.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 185a155e57)
2011-02-06 20:31:45 +01:00
Martin StorsjöandMichael Niedermayer 861aab5677 movenchint: Use rtpenc_chain for setting up the chained RTP muxer
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 5306bf41a6)
2011-02-06 20:31:45 +01:00
Martin StorsjöandMichael Niedermayer 118f09114c rtpenc_chain: Don't copy the time_base back to the caller
If required, the caller can do this itself. ff_write_chained rescales
timestamps as necessary, and all current callers of rtpenc_chain
use ff_write_chained, making this timebase copy unnecessary.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 397ffde115)
2011-02-06 20:31:45 +01:00
Martin StorsjöandMichael Niedermayer 42f97696ae Use avformat_free_context for cleaning up muxers
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b22dbb291d)
2011-02-06 20:31:45 +01:00
Martin StorsjöandMichael Niedermayer 8cf2d3d3d7 Add an APIchanges entry for avformat_free_context
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ff19748977)
2011-02-06 20:31:44 +01:00
Martin StorsjöandMichael Niedermayer 4ed68fdfdc libavformat: Add a function for freeing an AVFormatContext
This function is useful for freeing data structures allocated by
muxers, which currently have to be freed manually by the caller.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f124b087ee)
2011-02-06 20:31:44 +01:00
Martin StorsjöandMichael Niedermayer 173f19be75 libavformat: Use avcodec_copy_context for chained muxers
This avoids having the chained AVStream->codec point to the same
AVCodecContext owned by the outer AVStream. The downside is that
changes to the AVCodecContext made after calling av_write_header
cannot be detected automatically within the chained muxer.

This avoids having to manually unlink the chained AVStream->codec
by setting it to null before freeing the chained muxer via generic
freeing functions.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 1338dc0823)
2011-02-06 20:31:44 +01:00
Martin StorsjöandRonald S. Bultje 185a155e57 applehttp: Handle absolute paths relative to the current server
This fixes roundup issue 2583.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 12:23:04 -05:00
Martin StorsjöandRonald S. Bultje 5306bf41a6 movenchint: Use rtpenc_chain for setting up the chained RTP muxer
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:42:54 -05:00
Martin StorsjöandRonald S. Bultje 397ffde115 rtpenc_chain: Don't copy the time_base back to the caller
If required, the caller can do this itself. ff_write_chained rescales
timestamps as necessary, and all current callers of rtpenc_chain
use ff_write_chained, making this timebase copy unnecessary.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:41:10 -05:00
Martin StorsjöandRonald S. Bultje b22dbb291d Use avformat_free_context for cleaning up muxers
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:39:55 -05:00
Martin StorsjöandRonald S. Bultje ff19748977 Add an APIchanges entry for avformat_free_context
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:38:46 -05:00
Martin StorsjöandRonald S. Bultje f124b087ee libavformat: Add a function for freeing an AVFormatContext
This function is useful for freeing data structures allocated by
muxers, which currently have to be freed manually by the caller.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:29:41 -05:00
Martin StorsjöandRonald S. Bultje 1338dc0823 libavformat: Use avcodec_copy_context for chained muxers
This avoids having the chained AVStream->codec point to the same
AVCodecContext owned by the outer AVStream. The downside is that
changes to the AVCodecContext made after calling av_write_header
cannot be detected automatically within the chained muxer.

This avoids having to manually unlink the chained AVStream->codec
by setting it to null before freeing the chained muxer via generic
freeing functions.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:28:07 -05:00
Martin StorsjöandMichael Niedermayer a991b8dec6 sapenc: Free AVStream->info on cleanup
This fixes yet another memory leak, present since SVN rev 25418.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 1f56f5ed6d)
2011-02-04 03:10:12 +01:00
Martin StorsjöandMichael Niedermayer d0d8a9b138 Free AVStream->info in chained muxers
This fixes memory leaks in the RTSP muxer and RTP hinting in the
mov muxer present since SVN rev 25418.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit ce41c51b0c)
2011-02-04 03:10:10 +01:00
Martin StorsjöandMichael Niedermayer c6347bdf08 rtsp: Don't store RTSPStream in AVStream->priv_data
For mpegts in RTP, there isn't a direct mapping between RTSPStreams
and AVStreams, and the RTSPStream isn't ever stored in
AVStream->priv_data, which was earlier leaked. The fix for this
leak, in ea7f080749, lead to
double frees for other, normal RTP streams.

This patch avoids storing RTSPStreams in AVStream->priv_data, thus
avoiding the double free. The RTSPStreams are always available via
RTSPState->rtsp_streams anyway.

Tested with MS-RTSP, RealRTSP, DSS and mpegts/RTP.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit d9c0510e22)
2011-02-04 03:10:10 +01:00
Martin StorsjöandMans Rullgard 1f56f5ed6d sapenc: Free AVStream->info on cleanup
This fixes yet another memory leak, present since SVN rev 25418.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-03 13:21:36 +00:00
Martin StorsjöandLuca Barbato ce41c51b0c Free AVStream->info in chained muxers
This fixes memory leaks in the RTSP muxer and RTP hinting in the
mov muxer present since SVN rev 25418.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-02-03 01:03:31 +01:00
Martin StorsjöandLuca Barbato d9c0510e22 rtsp: Don't store RTSPStream in AVStream->priv_data
For mpegts in RTP, there isn't a direct mapping between RTSPStreams
and AVStreams, and the RTSPStream isn't ever stored in
AVStream->priv_data, which was earlier leaked. The fix for this
leak, in ea7f080749, lead to
double frees for other, normal RTP streams.

This patch avoids storing RTSPStreams in AVStream->priv_data, thus
avoiding the double free. The RTSPStreams are always available via
RTSPState->rtsp_streams anyway.

Tested with MS-RTSP, RealRTSP, DSS and mpegts/RTP.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-02-03 00:49:15 +01:00
Martin StorsjöandMichael Niedermayer 4f40ec0552 rtspdec: Retry with TCP if UDP failed
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 2762a7a28b)
2011-01-26 03:43:29 +01:00
Martin StorsjoandMichael Niedermayer 2afd30bf7a rtspdec: Move rtsp_read_pause up, next to rtsp_read_play
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit e836b1b085)
2011-01-26 03:43:28 +01:00
Martin StorsjoandMichael Niedermayer 3f44e3c91a rtsp: Use ff_rtsp_undo_setup in the cleanup code in ff_rtsp_make_request
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit aeb2de1c82)
2011-01-26 03:43:28 +01:00
Martin StorsjoandMichael Niedermayer abbc1d272e rtsp: Split out a function undoing the setup made by ff_rtsp_make_setup_request
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 93e7490ee0)
2011-01-26 03:43:28 +01:00
Martin StorsjoandMichael Niedermayer d89a08d81b rtsp: Make make_setup_request a nonstatic function
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit fef5649a82)
2011-01-26 03:43:28 +01:00
Martin StorsjöandMichael Niedermayer 1a172ce6b1 applehttp: Fix the key check in handle_variant_args
The key string is supposed to contain the equals character,
too.  Since the checked string was wrong, and the return value
check was wrong too, it incorrectly seemed to work right before.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 2b0decf60b)
2011-01-26 03:43:28 +01:00
Martin StorsjöandJanne Grunau 2762a7a28b rtspdec: Retry with TCP if UDP failed
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:49:36 +01:00
Martin StorsjoandJanne Grunau e836b1b085 rtspdec: Move rtsp_read_pause up, next to rtsp_read_play
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:46:45 +01:00
Martin StorsjoandJanne Grunau aeb2de1c82 rtsp: Use ff_rtsp_undo_setup in the cleanup code in ff_rtsp_make_request
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:46:43 +01:00
Martin StorsjoandJanne Grunau 93e7490ee0 rtsp: Split out a function undoing the setup made by ff_rtsp_make_setup_request
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:46:39 +01:00
Martin StorsjoandJanne Grunau fef5649a82 rtsp: Make make_setup_request a nonstatic function
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:46:36 +01:00
Martin StorsjöandMans Rullgard 2b0decf60b applehttp: Fix the key check in handle_variant_args
The key string is supposed to contain the equals character,
too.  Since the checked string was wrong, and the return value
check was wrong too, it incorrectly seemed to work right before.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 20:19:37 +00:00
Martin Storsjö c66f53cf8b Revert aviobuf: Retry if the read/write function returns AVERROR(EAGAIN)
This reverts SVN commit 26318, which broke MS-RTSP playback.

Originally committed as revision 26326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-13 06:22:43 +00:00
Martin Storsjö a6963f8304 aviobuf: Retry if the read/write function returns AVERROR(EAGAIN)
Originally committed as revision 26318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-12 07:06:27 +00:00
Martin Storsjö 31561a98ae Fix arm asm offsets for arm/mach-o
Originally committed as revision 26287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09 15:23:00 +00:00
Martin Storsjö a3b058b7ba rtsp: Properly fail if unable to open an input RTP port
Originally committed as revision 26285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09 10:47:53 +00:00
Martin Storsjö a92c30d76e rtsp: Allow requesting of filtering of source packets
If filtered, only packets from the right source address and port
are received.

To test, play back e.g. some mpeg4 video RTSP stream (where the
video stream is the first stream in the presentation) over UDP.
While receiving this stream, send another stream to the same port:
ffmpeg -re -i <whatever> -vcodec mpeg4 -an -f rtp
rtp://127.0.0.1:5000?localport=1234
Normally, the RTSP playback reports lots of errors at this point.

If the RTSP stream has the ?filter_src option enabled, these
interferring packets are ignored.

Originally committed as revision 26246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 15:22:58 +00:00
Martin Storsjö 21a569f302 udp: Allow specifying the connect option in udp_set_remote_url, too
If the remote address is updated later with this function, the caller
shouldn't set the connect option until in this call.

Originally committed as revision 26245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 15:16:50 +00:00
Martin Storsjö babd19ce2e rtpproto: Allow specifying the connect option, passed through to udp
By calling connect on the UDP socket, only packets from the chosen
peer address and port are received on the socket. This is one
solution to issue 1688.

Originally committed as revision 26244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 15:16:09 +00:00
Martin Storsjö 79d482b108 rtpdec: Don't set RTP timestamps if they already are set by the depacketizer
For MS-RTSP, we don't always get RTCP packets (never?), so the earlier
timestamping code never wrote anything into pkt->pts. The rtpdec_asf
depacketizer just sets the dts of the packet, so if the generic RTP
timestamping is used, too, we get inconsistent timestamps.

Therefore, skip the generic RTP timestamp algorithm if the depacketizer
already has set something.

This fixes "Invalid timestamps" warnings, present since SVN rev 26187.

Originally committed as revision 26241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 11:33:06 +00:00
Martin Storsjö 29db7c3af4 rtsp: Parse RTP-Info headers
Originally committed as revision 26236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-05 21:23:42 +00:00
Martin Storsjö 4cb06874c7 Reindent
Originally committed as revision 26235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-05 21:23:12 +00:00
Martin Storsjö 91d96bd3c0 rtsp: Simplify code
Originally committed as revision 26234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-05 21:22:50 +00:00
Martin Storsjö 1726813f13 rtsp: Move resetting of rtpdec parameters to before sending the PLAY request
Originally committed as revision 26233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-05 21:22:15 +00:00
Martin Storsjö f03424a782 Reindent
Originally committed as revision 26205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-03 12:43:48 +00:00
Martin Storsjö d2995eb910 rtsp: Store the Content-Base header value straight to the target
This avoids having a large temporary buffer in the struct used for
storing the rtsp reply headers.

Originally committed as revision 26192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:11:12 +00:00
Martin Storsjö 77223c5388 rtsp: Pass the method name to ff_rtsp_parse_line
Originally committed as revision 26191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:10:12 +00:00
Martin Storsjö acc9ed1450 rtsp: Pass RTSPState to ff_rtsp_parse_line, instead of HTTPAuthState
This allows ff_rtsp_parse_line to do more changes directly in RTSPState
when parsing the reply, instead of having to store large amounts of
temporary data in RTSPMessageHeader.

Originally committed as revision 26190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:07:56 +00:00
Martin Storsjö 3df54c6bf2 rtsp: Add a method parameter to ff_rtsp_read_reply
Originally committed as revision 26189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:06:21 +00:00
Martin Storsjö 3a1cdcc798 rtpdec: Emit timestamps for packets before the first RTCP packet, too
Emitted timestamps in each stream start from 0, for the first received
RTP packet. Once an RTCP packet is received, that one is used for
sync, emitting timestamps that fit seamlessly into the earlier ones.

Originally committed as revision 26187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-01 22:27:16 +00:00
Martin Storsjö 9e99f84f7d rtsp: Check if the rtp stream actually has an RTPDemuxContext
For example MS-RTSP doesn't have RTPDemuxContexts for all streams.

This fixes issue 2448.

Originally committed as revision 26107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 09:56:19 +00:00
Martin Storsjö 8c579c1c60 rtsp: Require the transport reply from the server to match the request
This fixes a crash if we requested TCP interleaved transport, but the
server replies with transport data for UDP. According to the RFC, the
server isn't allowed to respond with another transport type than the
one requested.

Originally committed as revision 26077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-23 15:05:24 +00:00
Martin Storsjö 81c8c18780 Makefile: Fix dependencies of components
This fixes compilation with --disable-everything --enable-<component>,
for all encoders, decoders, muxers, demuxers, parsers, protocols, bsfs,
indevs, outdevs and filters at the moment. (All those that work without
any external dependencies at least.)

Originally committed as revision 26076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-22 20:00:42 +00:00
Martin Storsjö fe7438d97f Fix make checkheaders
amrwbdata.h uses offsetof(), which is defined in stddef.h.

Originally committed as revision 26068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-21 11:19:59 +00:00
Martin Storsjö 223cefb560 Fix more matroska/webm muxer dependencies
This fixes building with --disable-everything --enable-muxer=matroska and/or
--enable-muxer=webm

Originally committed as revision 26067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-21 09:28:39 +00:00
Martin Storsjö 1e0957cc6b Add a missing dependency for the WebM muxer
This fixes one of the issues found if building with
--disable-everything --enable-muxer=webm

Originally committed as revision 26066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-21 09:23:35 +00:00
Martin Storsjö 8bd1956462 g722: Move the low_inv_quant6 table up to the common tables
Since SVN rev 25866, this table is used by the trellis encoder, too,
not only by the decoder.

Originally committed as revision 26065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-21 09:03:57 +00:00
Martin Storsjö 9b14ec5fae sdp: Add a framesize attribute to H.263 SDP descriptions
While not mentioned in RFC 4629, this is required for H.263 in
3GPP TS 26.234. It is in practice required for playback with
Android stagefright and on Samsung bada phones.

Originally committed as revision 26062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-20 20:46:40 +00:00
Martin Storsjö 4f7d2fe2e3 configure: Avoid warnings if av_always_inline is disabled
This macro is disabled if --enable-small or --disable-optimizations are set.
Currently, this leads to warnings about functions being defined but not used,
for functions in header files.

By defining av_always_inline as inline or as av_unused, we avoid these
warnings.

This doesn't make a normal build with --enable-small any larger,
since the compiler probably chooses not to inline these functions even
if they're marked as inline.

Originally committed as revision 26032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 08:41:17 +00:00
Martin Storsjö bbd8f5477d rtsp: Don't set the RTP time base from the sample rate if no sample rate is set
This also reverts SVN rev 26016, which incorrectly overwrote the time base
with 90 kHz for all streams, regardless of what was set by the SDP parsing.

The stream that triggered the fix in 26016 still works after this commit.

Originally committed as revision 26022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 21:06:25 +00:00
Martin Storsjö 9baec618c0 configure: Allow disabling symbol versioning via --disable-symver
Originally committed as revision 25944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 08:34:57 +00:00
Martin Storsjö 86b6e387cc rtsp/rtpdec: Set the AVStream time_base directly in rtsp when it is known
This fixes cases where the RTP time base and the sample rate of the stream
differ. Previously, the AVStream time_base was unconditionally set to
the sample rate (which initially was set to one value when parsing the
rtpmap field in the SDP, but later overridden by an a=SampleRate field).

Additionally, this makes the code actually use the stream time base set
in rtpmap for video codecs, instead of hardcoding it to always be 90 kHz.

Originally committed as revision 25908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 13:29:44 +00:00
Martin Storsjö bb776f3b00 rtsp: Parse RealRTSP sample rate declarations from the SDP
The RTP time base can be different from the actual content sample rate.

Originally committed as revision 25907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 13:28:45 +00:00
Martin Storsjö 2eeefe205f rtpdec: Handle MP3 in RealRTSP
This fixes playback of a RealRTSP/MP3 URL from the RTSP samples on
MultimediaWiki.

Originally committed as revision 25906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 13:28:13 +00:00