Commit Graph

602 Commits

Author SHA1 Message Date
Michael Niedermayer 38e9585de9 Makefile: Remove stray tabs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 19:29:19 +03:00
Diego Biurrun 6516632967 tests: Only run noproxy test if networking is enabled 2013-07-06 15:36:57 +02:00
Luca Barbato df9f22d42b avf: move url utility functions in a separate file 2013-06-16 15:01:39 +02:00
Luca Barbato afc8685395 avf: split off format register and lookup function 2013-06-16 14:00:40 +02:00
Martin Storsjö 2681924b0f libavformat: Fix standalone compilation of the webm muxer
The missing object file was added to the matroska muxer already, but
not to the webm muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-06 19:55:53 +03:00
Anton Khirnov 2d2d6a4883 lavf: add a raw WavPack muxer. 2013-05-28 18:19:19 +02:00
Anton Khirnov 01656fd476 matroskaenc: support muxing WavPack 2013-05-28 18:18:57 +02:00
Anton Khirnov 794ca87d2b wvdec: split block header parsing into a separate file
It will be reused by other muxers and demuxers.
2013-05-28 17:47:59 +02:00
Anton Khirnov 0a1a94450a lavf: rename wv.c to wvdec.c
wv.c will be used for shared wavpack functions.
2013-05-28 17:47:30 +02:00
Diego Biurrun 4d7ed3e735 build: output-example: Add avutil to ELIBS in link command
output-example links against swscale, which depends on avutil.  In standard
configurations, by pure good luck, the libs before swscale pull in all of
swscale's dependencies and linking succeeds.  However, in some configurations
like --disable-asm this is not the case and linking fails.

Hardcode the dependency to avoid a more general Makefile refactoring.
2013-05-04 21:19:49 +02:00
Martin Storsjö 5c8696555a lavf: Add a fate test for the noproxy pattern matching
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-27 21:32:14 +02:00
Martin Storsjö a9c847c1ba rtpdec: Split handling of mpeg12 audio/video to a separate depacketizer
This also adds checking of mallocs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:20:22 +02:00
Martin Storsjö 2326558d52 rtpdec: Split mpegts parsing to a normal depacketizer
This gets rid of a number of special cases from the common rtpdec
code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:17:17 +02:00
Martin Storsjö c2603aa25b lavf: Add a fate test for the SRTP functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 23:18:08 +02:00
Martin Storsjö 2f3bada63e lavf: Add a protocol for SRTP encryption/decryption
This is mostly useful for encryption together with the RTP muxer,
but could also be set up as IO towards the peer with the SDP
demuxer with custom IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:55:10 +02:00
Martin Storsjö 424da30830 rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)
This only takes care of decrypting incoming packets; the outgoing
RTCP packets are not encrypted. This is enough for some use cases,
and signalling crypto keys for use with outgoing RTCP packets
doesn't fit as simply into the API. If the SDP demuxer is hooked
up with custom IO, the return packets can be encrypted e.g. via the
SRTP protocol.

If the SRTP keys aren't available within the SDP, the decryption
can be handled externally as well (when using custom IO).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:54:40 +02:00
Justin Ruggles c88d245c98 au: use ff_raw_write_packet() 2013-01-09 11:52:57 -05:00
Diego Biurrun 5ad2f0bfb2 build: Add rtpenc_chain extra config option
Also fixes linking in various configs with only individual parts enabled
because the RTP muxer chaining code depends on the general RTP code,
which is now accounted for.
2012-12-28 19:18:13 +01:00
Paul B Mahol 57231e4d5b tak: demuxer, parser, and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Diego Biurrun 62641dce71 build: cosmetics: Move CONFIG_RTPDEC entry to a more suitable place 2012-12-03 19:32:03 +01:00
Diego Biurrun 31f16dc1a1 build: Make the ISMV muxer select the MOV muxer
They share the same code, so building one w/o the other makes no sense.
2012-12-03 01:20:10 +01:00
Luca Barbato 22a0827dff hlsenc: stand alone hls segmenter
Simplifies usage but has higher latency.
2012-11-13 01:37:05 +01:00
Diego Biurrun 92fec47d69 build: The A64 muxer depends on rawenc.o for ff_raw_write_packet() 2012-11-05 20:48:50 +01:00
Luca Barbato 2ef4d586d6 pcmdec: remove dependency from rawdec
The code shared is not actually shared with anything else.
2012-10-25 14:05:13 +02:00
Luca Barbato 5f0e161dd6 g722: refactor out of rawdec.c 2012-10-25 14:05:05 +02:00
Luca Barbato 42c26a4864 rawvideo: use a specific read_header
ff_raw_read_header is used only for this demuxer for video.
2012-10-25 14:04:18 +02:00
Anton Khirnov 31c54711cc lavf: split wav muxer and demuxer into separate files. 2012-10-16 18:52:07 +02:00
Diego Biurrun 7e68c91e24 rmdec: Move SIPR code shared with Matroska demuxer to a separate file 2012-10-15 13:34:07 +02:00
Diego Biurrun 930c9d4373 avutil: Duplicate ff_log2_tab instead of sharing it across libs
The table is so small that the space gain is not worth the
performance overhead of cross-library access.
2012-10-12 20:39:17 +02:00
Martin Storsjö 7bc433b36d fate: Add tests of the ff_make_absolute_url function
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:34 +03:00
Luca Barbato 55f9037f38 avformat: split muxing functions from util.c 2012-10-01 19:57:57 +02:00
Samuel Pitoiset cee1950bbb rtp: Packetization of JPEG (RFC 2435) 2012-09-23 21:58:41 +03:00
Martin Storsjö 84cc314e40 smoothstreaming: Export the mp4 codec tags
This fixes stream copy from a format that already has incompatible
codec tags set. The chained ismv muxer exports this same codec tag
list, so set it on this one as well, to allow the caller (and
lavf common code) to set them correctly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-18 17:59:57 +03:00
Martin Storsjö 62c9ae11a7 Add a smooth streaming segmenter muxer
This muxer splits the output from the ismv muxer into individual
files, in realtime.

The same can also be done by the standalone tool ismindex, but this
muxer is needed for doing it in realtime (especially for live
streams that need extra handling for updating the lookahead fields
in the fragment headers).

Using this muxer, one can deliver live smooth streaming from a
normal static file web server. (Using ismindex, one can deliver
premade smooth streaming files from a static file web server,
or prepare files for serving with IIS.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 23:42:16 +03:00
Samuel Pitoiset 3c19815416 rtp: Depacketization of JPEG (RFC 2435)
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:21 +03:00
Mans Rullgard 8db73c61a7 build: allow non-standard variations of linker -l/-L flags
This enables replacing the -l and -L flags used to specify the
just-built libraries when linking the tools and shared libs with
non-standard syntaxes.  System library flags are already handled
by the filtering mechanism in configure.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-29 14:16:54 +01:00
Diego Biurrun 90f7e61769 swf: Move shared table out of the header file 2012-08-09 20:05:54 +02:00
Antti Seppälä 5423e908c9 Support urlencoded http authentication credentials
It should be possible to specify usernames in http requests containing
urlencoded characters. This patch adds support for decoding the auth
strings.

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-26 00:18:32 +03:00
Diego Biurrun 6b80142144 build: Skip compiling rtmpdh.h if ffrtmpcrypt protocol is not enabled
The ffrtmpcrypt protocol depends on external libraries, which are
also required to compile the header file.
2012-07-24 00:21:39 +02:00
Samuel Pitoiset 08cd95e8a3 RTMPTE protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-23 16:32:09 +03:00
Samuel Pitoiset acd554c103 RTMPE protocol support
This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPE protocol implementation uses ffrtmpcrypt:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-23 16:32:07 +03:00
Mohamed Naufal Basheer 55c3a4f617 G.723.1 demuxer and decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:54 +02:00
Samuel Pitoiset 86991ce2dd RTMPTS protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 14:02:55 +03:00
Samuel Pitoiset 6aedabc9b6 RTMPS protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 13:53:33 +03:00
Samuel Pitoiset 775c4d3625 rtmp: Rename rtmphttp to ffrtmphttp
The prefix makes it easier to distinguish the proper end-user
protocols from the internal ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 01:19:01 +03:00
Diego Biurrun 47aed43990 build: Fix APE tag dependencies 2012-07-13 10:17:20 +02:00
Diego Biurrun b7884ff7af build: Fix MP2 muxer dependencies 2012-07-12 10:45:21 +02:00
Diego Biurrun d648de61e6 build: Add missing build rules for the ISMV muxer 2012-07-12 10:45:20 +02:00
Anton Khirnov ce0a975689 mpc8: read APE tags. 2012-06-26 19:05:24 +02:00
Martin Storsjö 89c3960544 rtpdec: Add a depacketizer for iLBC
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:04 +03:00
Martin Storsjö a2b251a05e Implement the iLBC storage file format
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:02 +03:00
Samuel Pitoiset 8e50c57dcb RTMPT protocol support
This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPT protocol implementation uses rtmphttp:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:56:56 +03:00
Jindrich Makovicka b1c56eabe8 mpegtsenc: use AVFormatContext for AAC packetization
This removes the dependency on adts.c internals, and simplifies
adding other packetization formats.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-03 01:17:48 +03:00
Diego Biurrun db9e00f469 Remove libnut wrapper
libnut is unmaintained and known to be buggy; native NUT code exists.
2012-05-21 08:51:50 +02:00
Luca Barbato 5699884c2e sctp: Initial tcp-alike sctp support with streams
Signed-off-by: Jordi Ortiz <nenjordi@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-05-08 16:06:49 -07:00
Diego Biurrun 9eb83a56aa build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line. 2012-05-07 14:01:32 +02:00
Diego Biurrun ad0e31f134 build: prettyprinting cosmetics 2012-03-26 13:00:10 +02:00
Martin Storsjö c4584f3c1f rtpenc: Allow packetizing H263 according to the old RFC 2190
According to newer RFCs, this packetization scheme should only
be used for interfacing with legacy systems.

Implementing this packetization mode properly requires parsing
the full H263 bitstream to find macroblock boundaries (and knowing
their macroblock and gob numbers and motion vector predictors).

This implementation tries to look for GOB headers (which
can be inserted by using -ps <small number>), but if the GOBs
aren't small enough to fit into the MTU, the packetizer blindly
splits packets at any offset and claims it to be a GOB boundary
(by using Mode A from the RFC). While not correct, this seems
to work with some receivers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-23 15:27:52 +02:00
Paul B Mahol 15b4b505c2 img2: split muxer and demuxer into separate files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-22 22:04:03 +01:00
Paul B Mahol dc4e57489f CDXL demuxer and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-14 22:32:53 +01:00
Martin Storsjö 8bdab32f4e libavformat: Rename the applehttp protocol to hls
Keep the old protocol name around for backwards compatibility
until the next bump.

Deprecate the method of implicitly assuming the nested protocol.
For applehttp://server/path, it might have felt logical, but
supporting hls://server/path isn't quite as intuitive. Therefore
only support hls+http://server/path from now on.

Using this protocol at all is discouraged, since the hls demuxer
is more complete and fits into the architecture better. There
have been cases where the protocol implementation worked better
than the demuxer, but this should no longer be the case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:32 +02:00
Martin Storsjö 2772258a98 libavformat: Rename the applehttp demuxer to hls
When this demuxer was created, there didn't seem to be any
consensus of a common short name for this protocol. Now
the consensus seems to be to call it hls.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:31 +02:00
Martin Storsjö 08bddfcde5 rtpdec: Support H263 in RFC 2190 format
This is different from the "modern" RTP payload formats for H263
as defined by RFC 4629, 2429 and 3555. According to the newer RFCs,
this old one is to be considered deprecated and only be used for
interoperating with legacy systems.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:31 +02:00
Diego Biurrun c3b57d6e76 librtmp: Add "lib" prefix to librtmp URLProtocol declarations.
This allows easily differentiating between both implementations within the build
system and combining the native implementation for plain RTMP with librtmp for
the RTMPE, RTMPS, RTMPT, RTMPTE protocol variants.
2012-02-14 11:37:01 +01:00
Anton Khirnov d2afbd9a56 frame{crc/md5}: set the stream timebase from codec timebase.
Right now those muxers use the default timebase in all cases(1/90000).

This patch avoid unnecessary rescaling and makes the printed timestamps
more readable.

Also, extend the printed information to include the timebases and packet
pts/duration and align the columns.

Obviously changes the results of all fate tests which use those two
muxers.
2012-02-03 09:29:02 +01:00
Anton Khirnov dd6d3b0e02 lavf: add functions for accessing the fourcc<->CodecID mapping tables.
Fixes bug 212.
2012-01-31 16:53:35 +01:00
Martin Storsjö 33ec9ef96d Add a tool for creating smooth streaming manifests
It can also optionally split the file into individual fragments,
which allows it to be served from any web server without any
server side support.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 12:15:42 +02:00
Justin Ruggles e924a4ba71 westwood: split the AUD and VQA demuxers into separate files.
They have no code in common.
2012-01-23 10:34:48 -05:00
Martin Storsjö 23e57d167a Add a tool that uses avio to read and write, doing a plain copy of data
It also optionally can throttle its operation to a particular
speed, to simulate realtime writing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-20 22:19:09 +02:00
Paul B Mahol ffa0923eee add SMJPEG muxer
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-01-16 11:29:55 +01:00
Paul B Mahol 68b94f8bc3 avformat: split out common SMJPEG code
This is a preparation for adding SMJPEG muxer.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-01-16 11:29:55 +01:00
Diego Biurrun 52877251cf build: Skip compiling network.h and rtsp.h if networking is not enabled.
rtsp.h relies on network.h and the latter conditionally defines fallback OS
structures that rely on configure tests, which are only run if networking
is enabled.
2012-01-07 22:13:08 +01:00
Justin Ruggles 779ef255e6 adx: add an adx muxer 2012-01-03 18:47:42 -05:00
Paul B Mahol b5aecc6bc0 avformat: Add SMJPEG demuxer.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-28 20:17:20 +01:00
Diego Biurrun 4e8d6218c3 build: fix standalone compilation of OMA muxer
The muxer depends on the id3v2 writing code, so link against it.
2011-12-23 00:45:11 +01:00
Diego Biurrun e2c97aee39 build: fix standalone compilation of Microsoft XMV demuxer
The demuxer depends on the RIFF codec tags code, so link against it.
2011-12-23 00:45:10 +01:00
Diego Biurrun 408dbbd0a7 build: fix standalone compilation of Core Audio Format demuxer
The demuxer depends on code from mov.c, which in turn depends on
code from mov_chan.c, so link against it.
2011-12-23 00:45:08 +01:00
Luca Barbato 02e8f03296 segment: introduce segmented chain muxer
It behaves similarly to image2 muxer
2011-12-19 18:31:28 +01:00
Michael Karcher f40e7eb573 lavf: add OpenMG audio muxer.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-18 16:23:16 +01:00
Anton Khirnov ee20b332c8 omadec: split data that will be used in the muxer to a separate file. 2011-12-18 16:17:39 +01:00
Anton Khirnov 08f7af0c37 lavf: rename oma.c -> omadec.c 2011-12-18 16:17:39 +01:00
Mans Rullgard 878dda5db1 build: move inclusion of subdir.mak to main subdir loop
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 14:26:49 +00:00
Justin Ruggles 1fdf18f4b7 mov: add support for reading and writing the 'chan' tag
This implements reading the tag in the demuxer and adds support for writing it
in the muxer. Some example channel layout tables for muxing are included for
ac3, aac, and alac, but they are not utilized yet.
2011-12-09 16:12:58 -05:00
Reimar Döffinger f28070a123 Add PlayStation Portable PMP format demuxer
Not yet complete, for demuxing AAC the AAC header must be generated
manually.
Possibly the decoder could accept the header as extradata to simplify
this.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-01 13:54:43 +01:00
Miroslav Slugeň 06d7325ab1 rtpdec: Add support for G726 audio
This requires using a separate init function, since there
isn't necessarily any fmtp lines for this codec, so
parse_sdp_a_line won't be called. Incorporating it with the
alloc function wouldn't do either, since it is called before
the full rtpmap line is parsed (where the sample rate is
extracted).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-30 17:39:32 +02:00
Victor Vasiliev 12bc20502a Generalize RIFF INFO tag support; support reading INFO tag in wav
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 17:14:13 -08:00
Justin Ruggles a17c3c7d15 avformat: add CRI ADX format demuxer 2011-11-26 16:25:07 -05:00
Martin Storsjö 66e9c0b6ab httpproxy: Specify the object files needed in the Makefile
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-20 09:41:43 +02:00
Kostya Shishkov f545e00677 BMV demuxer and decoder
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-08 00:36:45 +02:00
Martin Storsjö 183baeadca avformat: Add the https protocol
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:36 +02:00
Martin Storsjö 558d192d23 avformat: Add the tls protocol, using OpenSSL or gnutls
Note, this protocol doesn't yet check verify the server
certificate against a local database of trusted CA root
certificates.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:30 +02:00
Martin Storsjö f6d3710096 avformat: Split out functions from network.h to a new file, network.c
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:08:47 +02:00
Justin Ruggles 87c57d807f Create separate functions for the raw GSM demuxer.
Put the new raw GSM demuxer in its own file.
Fixes raw GSM demuxing.
2011-11-02 14:41:16 -04:00
Michael Karcher 16ad77b357 Move id3v2 tag writing to a separate file.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-23 19:17:53 +02:00
Anton Khirnov 5dd35b43f1 Move timefilter code from lavf to lavd.
It's only used in the JACK device.

Fixes linking shared lavd with JACK enabled.
2011-10-21 20:29:05 +02:00
Nicolas George 4ca59d1948 oggdec: add support for Xiph's CELT codec
This patch also introduces CODEC_ID_CELT.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-09-26 13:51:29 +02:00
Janne Grunau dcb9f6a20d Add LATM demuxer
This is a raw demuxer for the AAC LATM decoder and thus limited to
single stream LOAS.
2011-09-22 20:39:24 +02:00
Kieran Kunhya 0ca36b4de7 Add LATM muxer
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-07 12:57:55 +02:00
Sven Hesse c6c6c1aaa6 add XMV demuxer
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-17 15:04:37 +02:00
Diego Biurrun 191c5f8ff3 build: move tests/seek_test.c to libavformat and reuse generic build rules 2011-07-13 13:27:15 +02:00