Commit Graph

446 Commits

Author SHA1 Message Date
Michael Niedermayer
15b2ec57cc Merge commit 'be4edda6731a341d3fdeaa0e57753dc396790362'
* commit 'be4edda6731a341d3fdeaa0e57753dc396790362':
  http: Expose the content location via an AVOption

Conflicts:
	libavformat/http.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 17:48:45 +01:00
Martin Storsjö
be4edda673 http: Expose the content location via an AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-22 14:27:07 +02:00
Michael Niedermayer
641358addc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add an HDS live fragmenting muxer

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 10:38:03 +01:00
Martin Storsjö
435214a757 Add an HDS live fragmenting muxer
HDS fragments basically are FLV fragments wrapped in an ISO
media mdat atom.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-02 10:51:00 +02:00
Michael Niedermayer
04894ef32e Merge commit '9ceed7af377cea6a430d63a2f5d5cf1afe0d4f05'
* commit '9ceed7af377cea6a430d63a2f5d5cf1afe0d4f05':
  rtpenc: Add a rtpflag option for sending BYE packets when finishing

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 19:34:19 +01:00
Michael Niedermayer
6262763d8d Merge commit 'b6a4701612514c97d22f7ffb37993539f7718352'
* commit 'b6a4701612514c97d22f7ffb37993539f7718352':
  mpegts: Support HEVC demuxing

Conflicts:
	Changelog
	libavformat/version.h

See: 93c1fe4de3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 18:05:25 +01:00
Michael Niedermayer
0fbeeb9399 Merge commit '959bea13ce3498a5bddf8a415a061a7bb5a8b075'
* commit '959bea13ce3498a5bddf8a415a061a7bb5a8b075':
  matroskadec: Support HEVC demuxing

Conflicts:
	Changelog
	libavformat/matroskadec.c
	libavformat/version.h

See: 16b6839de6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 17:57:57 +01:00
Michael Niedermayer
3a0c902636 Merge commit 'ea29f965dc71182f77b8efe819630f55e48b0ab7'
* commit 'ea29f965dc71182f77b8efe819630f55e48b0ab7':
  mov: Support HEVC demuxing

Conflicts:
	Changelog
	libavformat/mov.c
	libavformat/version.h

See: 53f903b7c5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 17:42:10 +01:00
Michael Niedermayer
b594aceb94 Merge commit '5846646296e377e093441dfe9eadde38ff1f7c99'
* commit '5846646296e377e093441dfe9eadde38ff1f7c99':
  Add raw HEVC demuxer

Conflicts:
	Changelog
	libavformat/hevcdec.c
	libavformat/version.h

See: 902a5fa722 and later commits
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 17:33:05 +01:00
Michael Niedermayer
a2bfee36b7 Merge commit '9af7a8523a6bb517834ebed36093bdab11a8b38e'
* commit '9af7a8523a6bb517834ebed36093bdab11a8b38e':
  HNM4/HNM4A demuxer & video decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 10:46:39 +01:00
Martin Storsjö
9ceed7af37 rtpenc: Add a rtpflag option for sending BYE packets when finishing
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-01 09:57:02 +02:00
Mickaël Raulet
b6a4701612 mpegts: Support HEVC demuxing
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:20:57 +01:00
Yusuke Nakamura
959bea13ce matroskadec: Support HEVC demuxing 2013-10-31 20:20:49 +01:00
Yusuke Nakamura
ea29f965dc mov: Support HEVC demuxing
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:20:32 +01:00
Dirk Farin
5846646296 Add raw HEVC demuxer
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:20:24 +01:00
David Kment
9af7a8523a HNM4/HNM4A demuxer & video decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-31 17:45:46 +01:00
Michael Niedermayer
249cc58c3a Merge commit '8b64c2ba0382892cad9e1a5ba601696d4cbb4d04'
* commit '8b64c2ba0382892cad9e1a5ba601696d4cbb4d04':
  lavc: add a dummy field to AVStream to preserve ABI compatibility for avconv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 20:47:23 +01:00
Anton Khirnov
8b64c2ba03 lavc: add a dummy field to AVStream to preserve ABI compatibility for avconv
avconv abuses the API by accessing AVStream.parser (which is private).
Removing AVStream.reference_dts in
2ba68dd044 breaks ABI compatibility for an
old avconv using a newer lavf. Fix this by adding a dummy field until
the next bump.
2013-10-29 14:19:10 +01:00
Michael Niedermayer
76424b2da8 Merge commit 'e01fba5562133ac56a4f44c6f214a80ee33cb388'
* commit 'e01fba5562133ac56a4f44c6f214a80ee33cb388':
  movenc: Add an F4V muxer

Conflicts:
	Changelog
	libavformat/allformats.c
	libavformat/movenc.c
	libavformat/version.h

See: 7bc70930dd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 12:05:48 +02:00
Clément Bœsch
e01fba5562 movenc: Add an F4V muxer
F4V is Adobe's mp4/iso media variant, with the most significant
addition/change being supporting other flash codecs than just
aac/h264.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-23 11:17:03 +03:00
Michael Niedermayer
d5ec8ba7f2 Do not leave positive values undefined when negative are defined as error
Define positive return values as non errors and leave further meaning undefined
This allows future extensions to use these values

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 16:42:57 +02:00
Michael Niedermayer
6b1b63df85 Merge commit '71549a857b13edf4c4f95037de6ed5bb4c4bd4af'
* commit '71549a857b13edf4c4f95037de6ed5bb4c4bd4af':
  http: Support auth method detection for POST

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 00:37:01 +02:00
Michael Niedermayer
5dee3e8bb4 Merge commit 'eb8b05a3824a9fa85e20d603595ac8a3b83505d4'
* commit 'eb8b05a3824a9fa85e20d603595ac8a3b83505d4':
  http: Add an option for forcing basic authentication

Conflicts:
	libavformat/http.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 00:17:49 +02:00
Martin Storsjö
71549a857b http: Support auth method detection for POST
Inspired by a patch by Jakob van Bethlehem. But instead of doing
an empty POST first to trigger the WWW-Authenticate header (which
would succeed if no auth actually was required), add an Expect:
100-continue header, which is meant to be used exactly for
cases like this.

The header is added if doing a post, and the user has specified
authentication but we don't know the auth method yet.

Not all common HTTP servers support the Expect: 100-continue header,
though, so we only try to use it when it really is needed. The user
can request it to be added for other POST requests as well via
an option - which would allow the caller to know immediately that
the POST has failed (e.g. if no auth was provided but the server
required it, or if the target URL simply doesn't exist).

This is only done for write mode posts (e.g. posts without pre-set
post_data) - for posts with pre-set data, we can just redo the post
if it failed due to 401.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-13 12:59:03 +03:00
Martin Storsjö
eb8b05a382 http: Add an option for forcing basic authentication
The default is to autodetect the auth method. This does require one
extra request (and also closing and reopening the http connection).
For some cases such as HTTP POST, the autodetection is not handled
properly (yet).

No option is added for digest, since this method requires getting
nonce parameters from the server first and can't be used straight
away like Basic.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-13 12:59:03 +03:00
Nicolas George
ecab1c7741 oggdec: add support for Opus in Ogg demuxing 2013-10-12 15:25:18 +02:00
Michael Niedermayer
5082fcc0e2 avformat: add support to force specific AVCodecs
previously only codec_ids could be forced, which did not allow
forcing a specific implementation like libopenjpeg vs jpeg2000.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +02:00
Michael Niedermayer
f31c36e552 Merge commit '705b748e8d8612385c96428ae36ed0d42a170d93'
* commit '705b748e8d8612385c96428ae36ed0d42a170d93':
  tls: Add support for listen mode

Conflicts:
	doc/protocols.texi
	libavformat/tls.c
	libavformat/version.h

See: 4f4eb380f0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 11:33:19 +02:00
Michael Niedermayer
e6e71fd7b5 Merge commit '8b09d917e7dc7d7f2ace31419f802d4ff518236c'
* commit '8b09d917e7dc7d7f2ace31419f802d4ff518236c':
  tls: Add options for verifying the peer certificate

Conflicts:
	doc/protocols.texi
	libavformat/tls.c
	libavformat/version.h

See: b2460858f6
See: 973a758f52
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 09:33:28 +02:00
Martin Storsjö
705b748e8d tls: Add support for listen mode
Also add options for specifying a certificate and key, which can
be used both when operating as client and as server.

Partially based on a patch by Peter Ross.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:13:35 +03:00
Martin Storsjö
8b09d917e7 tls: Add options for verifying the peer certificate
A file containing the trusted CA certificates needs to be
supplied via the ca_file AVOption, unless the TLS library
has got a system default file/database set up.

This doesn't check the hostname of the peer certificate with
openssl, which requires a non-trivial piece of code for
manually matching the desired hostname to the string provided
by the certificate, not provided as a library function.

That is, with openssl, this only validates that the received
certificate is signed with the right CA, but not that it is
the actual server we think we're talking to.

Verification is still disabled by default since we can't count
on a proper CA database existing at all times.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:13:06 +03:00
James Almer
39442b1a1b matroskaenc: Add CuePoints for subtitle tracks
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 22:40:16 +02:00
Michael Niedermayer
04ee57ce0a Merge commit 'bb461370e34b1fa1637f34ce7d37b934ddb472d5'
* commit 'bb461370e34b1fa1637f34ce7d37b934ddb472d5':
  asfenc: mux chapters in ASF files using an ASF "marker" section

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 12:06:15 +02:00
Vladimir Pantelic
bb461370e3 asfenc: mux chapters in ASF files using an ASF "marker" section
ASF markers only have a start time, so we lose the chapter end times,
but that is ASF for you

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-19 19:51:49 +02:00
Michael Niedermayer
b7e7d8cdaf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Add an option for omitting the tfhd base offset

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 13:32:55 +02:00
Martin Storsjö
e7bf085b78 movenc: Add an option for omitting the tfhd base offset
This makes the output fragments independent of their position in
the output stream, making the output work better when streamed.

QuickTime Player doesn't support fragmented mp4 without the base
data offset, though.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 23:30:31 +03:00
Michael Niedermayer
96e6447d62 Merge commit '596e5d4783ca951258a7c580951fd161f1785ec1'
* commit '596e5d4783ca951258a7c580951fd161f1785ec1':
  lavf: Add a flag to enable/disable per-packet flushing

Conflicts:
	libavformat/avformat.h
	libavformat/mux.c
	libavformat/version.h

This adds a 2nd API to set per packet flushing
If the user application indicates through either a non default then this non default takes
precedence over the other still default value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:01:35 +02:00
Luca Barbato
596e5d4783 lavf: Add a flag to enable/disable per-packet flushing
This is enabled by default and can be disabled with
"-fflags -flush_packets".

Inspired by a patch from Nicolas George <nicolas.george@normalesup.org>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:11:08 +03:00
Paul B Mahol
42b8f5fba1 avformat/segafilm: remove deplanarization hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 13:30:20 +00:00
Vignesh Venkatasubramanian
d92b1b1bab lavf/matroska: Adding support for Opus CodecDelay
In order to represent the codec delay accurately in Matroska, a
new element CodecDelay has been introduced. It contains the
overall delay added by the codec in nanoseconds. This patch adds
support for muxing CodecDelay value in the container.
Matroska spec for CodecDelay element can be found here:
http://matroska.org/technical/specs/index.html#CodecDelay

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 01:45:38 +02:00
Clément Bœsch
36cd017acd avformat: make avformat_close_input() more tolerant.
The purpose of this commit is to make error management simpler and less
error prone, just like av_free() which is safe with NULL.
2013-09-04 22:06:38 +02:00
Dirk Farin
902a5fa722 avformat: H265 demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 19:34:04 +02:00
Michael Niedermayer
e31db621bf avformat: export probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 22:18:57 +02:00
Stefano Sabatini
7af7b45c38 lavf/image2: extend start_number range to accept zero
Address trac ticket #2884.
2013-08-22 14:26:23 +02:00
Stefano Sabatini
5ae3563359 lavf/tee: add special select option 2013-08-21 17:44:35 +02:00
Michael Niedermayer
e1acfd3cb0 Merge commit 'b886f5c2f1e71b3e60e4265c500158d392b4b9a4'
* commit 'b886f5c2f1e71b3e60e4265c500158d392b4b9a4':
  mkv: Allow flushing the current cluster in progress

Conflicts:
	libavformat/matroskaenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:44:25 +02:00
Martin Storsjö
b886f5c2f1 mkv: Allow flushing the current cluster in progress
Allow emitting the current cluster that is being written before
starting a new one, simplifying how to figure out where clusters
are positioned in the output stream (for live streaming).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 22:47:07 +02:00
Stefano Sabatini
faf7c35655 lavf/tee: add support for bitstream filtering
This allows to apply different bitstream filters to different outputs,
with no need to transcode.
2013-08-16 17:58:58 +02:00
Alexis Ballier
7a48b1c492 Remove FF_API_PKT_DUMP cruft. Not compiled since libavformat 54.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 04:18:32 +02:00
Alexis Ballier
ca2378ad04 libavformat/version.h: Drop FF_API_OLD_AVIO (unused and undefined since libavformat 55)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 03:26:25 +02:00