Commit Graph
100 Commits
Author SHA1 Message Date
Martin Storsjö 5f85d49b68 applehttp: Don't export variant_bitrate if it isn't known
If there are no variants, the total bitrate of the single
stream isn't known, and exporting variant_bitrate = 0 does
look weird, since there really aren't any variants.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-24 21:30:03 +03:00
Martin Storsjö ac9cf2e5c4 crypto: Use av_freep instead of av_free
Using av_freep is generally good practice.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-24 21:30:03 +03:00
Martin Storsjö 9261e6cf3f rtp: Rename the open/close functions to alloc/free
This avoids clashes if we internally want to override the global
open function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-24 00:05:37 +03:00
Martin Storsjö 84465f2180 applehttp: Handle AES-128 encrypted streams
This should hopefully fix roundup issue 2586.

This commit only implements it in the demuxer, not in the
protocol handler. If desired, some of the code could be
refactored to be shared by both implementations.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-23 00:27:21 +03:00
Martin Storsjö 6e4f70a8de Add a protocol handler for AES CBC decryption with PKCS7 padding
This can later be extended to support other AES bit sizes,
encryption, other crypto algorithms, reading the key from a URL, etc.

In order to use it, the key and initialization vector has to be
passed via AVOptions. Since such options can't be passed to
protocols from the command line, the protocol is currently
only for libavformat internal use.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-23 00:27:10 +03:00
Martin Storsjö d5c5a1c7e2 doc: Mention that DragonFly BSD requires __BSD_VISIBLE set
Setting this should fix the FATE build failure on DragonFly BSD,
since inet_aton only is visible if __BSD_VISIBLE is set.

Alternatively, a line defining __BSD_VISIBLE=1 could be
added at the top of os_support.c. For FreeBSD, similar lines
are required in libavdevice/bktr.c and libavdevice/oss_audio.c, too.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-23 00:06:20 +03:00
Martin Storsjö fe8e039460 applehttp: Expose the stream bitrate via metadata
This helps callers to intelligently switch between bitrate
variants.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-21 14:13:09 +03:00
Martin Storsjö cac2757919 doc: Add some initial docs on the applehttp demuxer
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-21 14:13:09 +03:00
Martin Storsjö 23d3931a6a Provide a fallback version of the libm function trunc
This fixes compilation on DOS.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-21 14:13:09 +03:00
Martin Storsjö 32a128522a libavdevice: Define _XOPEN_SOURCE for usleep
This hopefully fixes build failures on Dragonfly BSD.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-21 14:13:09 +03:00
Martin Storsjö f83acb096c Makefile: Include dependencies for test tools, too
This makes seek_test to be rebuilt when its dependencies
has changed. The changes to the dependencies didn't usually matter
in practice, but the introduction of side data in AVPacket required
a recompilation.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-20 21:44:04 +03:00
Martin StorsjöandAnton Khirnov 26f6b8c571 avio: Fix sanity checks in ffurl_read*
This fixes e.g. reading data over HTTP, where the underlying
socket is set to read/write.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-20 17:00:11 +02:00
Martin Storsjö 7bbb67d580 libavformat: Free AVFormatContext->streams
After switching this from a statically allocated array to a
dynamically allocated one in the major bump, this needs explicit
freeing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-20 15:42:55 +03:00
Martin Storsjö c60112f268 libavformat: Make protocols pass URLContext as log context where available
Since the libavformat major bump, URLContext contains an AVClass,
making it a usable log context.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-20 14:59:45 +03:00
Martin Storsjö 302152d40b libavcodec: Bump micro after adding the dtx AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 09:34:26 +03:00
Martin Storsjö 651b276ef7 libopencore-amr, libvo-amrwbenc: Allow enabling DTX via private AVOptions
DTX, discontinuous transmission, allows emitting frames with
comfort noise when no voice is detected in the input audio.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 00:31:39 +03:00
Martin Storsjö 3dd82afc74 libopencore-amr, libvo-amrwbenc: Only check the bitrate when changed
Also rename the incorrectly named enc_bitrate to enc_mode, use the
enc_bitrate variable for storing the last chosen bitrate.

This avoids continuous warning log messages if not using an
exactly matching bitrate, while still allowing changing bitrate
at any point.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 00:31:34 +03:00
Martin Storsjö 7073938121 libopencore-amr, libvo-amrwbenc: Find the closest matching bitrate
Dynamically print the supported bitrates from the local table,
instead of using a hardcoded log message.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 00:31:33 +03:00
Martin Storsjö 957635ba14 libvo-*: Fix up the long codec names
Include VisualOn to clarify the codec name, but remove the
actual library name from the user-friendly description.
Also mention Android, to clarify which VisualOn implementation
this refers to, since they do sell other variants of the same
code, too.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 22:38:18 +03:00
Martin Storsjö 567ad0e31d libavcodec: Mark AVCodec->priv_class const
This avoids warnings of this kind, everywhere priv_class
is initialized:

warning: initialization discards qualifiers from pointer target type

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 22:14:33 +03:00
Martin Storsjö 2d3267936a libvo-aacenc: Only produce extradata if the global header flag is set
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 15:43:46 +03:00
Martin Storsjö 882221afde libopencore-amr: Cosmetics: Rewrap and align
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 13:00:21 +03:00
Martin Storsjö 02c63a109f libopencore-amr, libvo-amrbwenc: Rename variables and functions
Avoid camelCase names for functions and variables.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 13:00:14 +03:00
Martin Storsjö 9b9c6405fd libopencore-amr: Convert commented out debug logging into av_dlog
Also add the avctx as logging context.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 13:00:07 +03:00
Martin Storsjö 89e7e640f7 libopencore-amr: Remove an unused state variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 12:59:58 +03:00
Martin Storsjö 5d211e034e libvo-amrwbenc: Don't explicitly store bitrate modes in the bitrate table
The bitrate modes are equal to the array indices.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö 0e03f94d61 libopencore-amr: Remove a useless local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö c48ce4eb50 libopencore-amr, libvo-amrwbenc: Make the bitrate/mode mapping array static const
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö 900a129f4f libopencore-amr, libvo-amrwbenc: Return proper error codes in most places
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö a8ec07c933 libopencore-amr: Don't print carriage returns in log messages
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö 587331414b libopencore-amr: Remove an old workaround for libamr header weirdness
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö 57ddffe843 libopencore-amr: Make the opaque encoder pointer a void*
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö dbff4da914 libopencore-amr: Remove unused code fragments
This parts are heritage from the encoder part from the old
libamr code removed in SVN rev 19365.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö a92a7ddc25 applehttp: Only check the discard flags if v->ctx actually is initialized
This code could be executed if the demuxer reads more than one
segment before returning from av_open_input_stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:37 +03:00
Martin Storsjö 578d6861a7 flvdec: Allow parsing keyframes metadata without seeking in most cases
Stop the avio input at a point where amf_parse_object can
continue parsing the end of the object seamlessly, when all
data is available.

If unsupported data is encountered within the keyframes object,
try seeking to the start of the keyframes object - if the seek
back was successful, the caller can continue parsing the rest
of the AMF data.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-12 23:08:55 +03:00
Martin Storsjö c5e03cebd3 libvo-*: Don't use deprecated sample format names and enum names
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-12 12:52:47 +03:00
Martin Storsjö c41eb2ade4 libavcodec: Use "const enum AVSampleFormat[]" in AVCodec initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-12 12:38:37 +03:00
Martin Storsjö f502ff3f61 Add support for AMR-WB encoding via libvo-amrwbenc
The wrapper code is based on the libamr wrapper removed in SVN rev 19365.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-11 14:55:53 +03:00
Martin Storsjö d89e738a0c Add an AAC encoder by using the libvo-aacenc library
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-11 14:55:51 +03:00
Martin Storsjö 029f966c3a g722: Return 8 bits per sample for g722 in av_get_bits_per_sample
This fixes a failing assert in ff_raw_read_header (in
fate-g722dec-1), where bits_per_coded_sample is set using this
function and is required to have a positive value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-11 11:35:43 +03:00
Martin Storsjö 0d8a33b11e applehttp: Merge two for loops
The previous commit didn't do this straight away, to keep the
diff slightly simpler.
2011-04-04 13:01:59 +03:00
Martin Storsjö 6cc7f13982 applehttp: Restructure the demuxer to use a custom AVIOContext
This avoids issues where EOF at the end of the segment is given
the variant demuxer. Now the demuxers only see one single data
stream (as when using the applehttp protocol handler).
2011-04-04 12:59:23 +03:00
Martin Storsjö d3964da2c2 applehttp: Move finished and target_duration to the variant struct
This is a preparation for a restructuring of the demuxer, to
minimize the later diff.
2011-04-04 12:44:23 +03:00
Martin Storsjö 1c69c79f2b configure: Initial support for --target-os=symbian
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-03-31 15:38:58 +03:00
Martin StorsjöandLuca Barbato 229e2631be rtsp: Use GET_PARAMETER for keep-alive for generic RTSP servers
According to the RFC, GET_PARAMETER should be used for
this, and according to a report from Tim Ouellette,
OPTIONS doesn't work for keeping the connection alive for some
servers. Also, live555 uses GET_PARAMETER for this purpose.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-30 22:44:07 +02:00
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ö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ö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ö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ö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ö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ö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ö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ö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