Commit graph

14596 commits

Author SHA1 Message Date
Michael Niedermayer
858d9947e4 Merge commit '8a0bc40545'
* commit '8a0bc40545':
  libspeex: support ZygoAudio (quality 10 mode)

Conflicts:
	libavformat/isom.c

See: e26b066cd8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:25:41 +01:00
Michael Niedermayer
6783b3eb76 avformat/isom: remove duplicated line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:12:37 +01:00
Michael Niedermayer
2f41b18696 Merge commit 'eeae858596'
* commit 'eeae858596':
  isom: Support Sony XAVC in mov

See: 5b9f39860d
See: 6e65e34837
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:11:08 +01:00
Piotr Bandurski
8a0bc40545 libspeex: support ZygoAudio (quality 10 mode) 2014-03-09 18:09:39 +01:00
Mark Himsley
360022bd3b isom: lpcm in mov default to big endian
It is my understanding that "Unless otherwise stated, all data in a
QuickTime movie is stored in big-endian byte ordering" [1] in MOV files.

I have a couple of thousand files, which technically are invalid because
their sound sample description element 4CC is 'lpcm' but its version is
0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or
twos-complement ('twos') format" [2]

Because isom.c only contains a mapping for 4CC 'lpcm' to
AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when
it is actually BE.

This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.

[1]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 21
[2]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 178

Reviewed-by: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
2014-03-09 18:09:39 +01:00
Piotr Bandurski
db32f14c3d isom: add "MNG" FourCC 2014-03-09 18:09:39 +01:00
Carl Eugen Hoyos
073cd30fb4 isom: Support MPEG-2 video mov files from FPC5 2014-03-09 18:09:39 +01:00
Piotr Bandurski
31e558fbcf isom: add "NO16" FourCC 2014-03-09 18:09:39 +01:00
Carl Eugen Hoyos
eeae858596 isom: Support Sony XAVC in mov
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-09 18:09:38 +01:00
Piotr Bandurski
6509012398 isom: add Radius DV YUV FourCCs 2014-03-09 18:09:38 +01:00
Ben Littler
c09804684a isom: add xd51 hdcam
Someone needs to binary search FCP for new isom...
2014-03-09 18:09:38 +01:00
Michael Niedermayer
9827f3db88 Merge commit '565e0c6d86'
* commit '565e0c6d86':
  movenc: allow override of "writing application" tag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 01:50:17 +01:00
Michael Niedermayer
4cb6814160 Merge commit '0092c1dd8d'
* commit '0092c1dd8d':
  matroskaenc: allow override of "writing application" tag

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 01:41:55 +01:00
John Stebbins
565e0c6d86 movenc: allow override of "writing application" tag
Signed-off-by: Tim Walker <tdskywalker@gmail.com>

CC: libav-stable@libav.org
2014-03-08 18:59:35 +01:00
John Stebbins
0092c1dd8d matroskaenc: allow override of "writing application" tag
Signed-off-by: Tim Walker <tdskywalker@gmail.com>

CC: libav-stable@libav.org
2014-03-08 18:56:49 +01:00
Nicolas George
6bffa83bbe lavf/concatdec: reindent after last commit. 2014-03-08 12:44:45 +01:00
Nicolas George
8a670f52a5 lavf/concatdec: more reliable test for absolute URLs.
ff_make_absolute_url() recognizes the "://" pattern usual
in HTTP-like protocols, but consider relative URLs starting
with just the protocol name or using the comma syntax for
options.
2014-03-08 12:38:31 +01:00
Nicolas George
97e87e09c8 lavf: add subfile protocol. 2014-03-08 12:36:57 +01:00
Michael Niedermayer
fabf69f37a Merge commit 'f69befe5ee'
* commit 'f69befe5ee':
  matroskadec: cosmetics: Fix "attachement" vs. "attachment" typo

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 00:13:20 +01:00
Michael Niedermayer
b3d9ab1829 Merge commit '84cfce9f99'
* commit '84cfce9f99':
  matroskadec: K&R formatting cosmetics

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 23:52:44 +01:00
Michael Niedermayer
4fc339faea Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmppkt: Rename the ts_delta field to ts_field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 14:09:35 +01:00
Diego Biurrun
f69befe5ee matroskadec: cosmetics: Fix "attachement" vs. "attachment" typo 2014-03-07 13:54:18 +01:00
Michael Niedermayer
9baef60ae4 Merge commit '8bbb02ae4f'
* commit '8bbb02ae4f':
  rtmppkt: Properly handle extended timestamps when writing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 13:42:22 +01:00
Keiji Costantini
84cfce9f99 matroskadec: K&R formatting cosmetics
Also sort #includes into canonical order.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-07 13:39:07 +01:00
Michael Niedermayer
94ec27131c Merge commit '48cfb5f411'
* commit '48cfb5f411':
  rtmppkt: Add a descriptive comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 12:58:43 +01:00
Michael Niedermayer
d540e7577a Merge commit '5b2ad78f97'
* commit '5b2ad78f97':
  rtmppkt: Handle extended timestamp field even for one-byte header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 12:53:02 +01:00
Martin Storsjö
77eed91fab rtmppkt: Rename the ts_delta field to ts_field
Based on a suggestion by Martin Panter. This is more descriptive,
since it's the actual timestamp field from the RTMP packet,
which might or might not be a delta depending on context (in
some packets it's a delta, in some packets it's an absolute
timestamp, and in some packets it's 0xffffff to indicate that
the actual delta or absolute timestamp is transmitted separately).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:51 +02:00
Martin Panter
8bbb02ae4f rtmppkt: Properly handle extended timestamps when writing
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:47 +02:00
Martin Panter
48cfb5f411 rtmppkt: Add a descriptive comment
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:37 +02:00
Martin Panter
5b2ad78f97 rtmppkt: Handle extended timestamp field even for one-byte header
Related fix in "rtmpdump":
79459a2

Adobe's RTMP specification (21 Dec 2012), section 5.3.1.3 ("Extended
Timestamp"), says "this field is present in Type 3 chunks". Type 3 chunks are
those with the one-byte header size.

This resolves intermittent hangs and segfaults caused by the read function,
and also includes an untested fix for the write function.

The read function was tested with ABC (Australia) News 24 streams, however
they are probably restricted to only Australian internet addresses. Some of
the packets at the start of these streams seem to contain junk timestamp
fields, often requiring the extended field. Test command:

avplay rtmp://cp81899.live.edgefcs.net/live/news24-med@28772

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:26 +02:00
Michael Niedermayer
39f5003a07 Merge commit '5b977c1d4f'
* commit '5b977c1d4f':
  mxf: Return meaningful errors

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 23:53:36 +01:00
Michael Niedermayer
618d2262d7 Merge commit 'f06f6daaf8'
* commit 'f06f6daaf8':
  mxf: Parse random index pack

Conflicts:
	libavformat/mxfdec.c

See: f5ed83c383
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 23:45:05 +01:00
Michael Niedermayer
5a4852bc4d Merge commit '570af382ee'
* commit '570af382ee':
  mxf: Handle identification metadata

Conflicts:
	libavformat/mxfdec.c

See: 25b143aa7b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 22:59:35 +01:00
Michael Niedermayer
3ce8581413 Merge commit '5b930092c3'
* commit '5b930092c3':
  mxf: Set audio packets pts

Conflicts:
	libavformat/mxfdec.c

See: 83cab07a4c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 22:50:06 +01:00
Michael Niedermayer
2265212396 Merge commit 'e118bb1a33'
* commit 'e118bb1a33':
  mxf: Introduce ff_mxf_get_samples_per_frame

Conflicts:
	libavformat/mxf.c
	libavformat/mxf.h

See: 906a263813
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 22:21:57 +01:00
Luca Barbato
5b977c1d4f mxf: Return meaningful errors 2014-03-06 19:28:20 +01:00
Paul B Mahol
f06f6daaf8 mxf: Parse random index pack
Get the last partition offset and use it when footer partition
offset is missing.

Footer partition may not be present and even if present footer
partition offset may not be set in any partition except last one.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Matthieu Bouron
570af382ee mxf: Handle identification metadata
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Matthieu Bouron
5b930092c3 mxf: Set audio packets pts
Extrapolate audio timestamps based on the number of samples demuxed.

Deal with some MXF nastiness involving fractional number of
samples per EditUnit when seeking (the specs handwave this away).

Further fixes from Tomas Härdin.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Matthieu Bouron
e118bb1a33 mxf: Introduce ff_mxf_get_samples_per_frame
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Michael Niedermayer
c832bf0c38 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/avdevice: always free detected devices on error
  lavf/http: return error from seek on invalid whence
  lavf/http: return error on seeking to negative postion
  lavf/avio: fix ffurl_alloc error checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 02:04:18 +01:00
Lukasz Marek
1aa262f460 lavf/http: return error from seek on invalid whence
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:32:24 +01:00
Lukasz Marek
4ba6a534dc lavf/http: return error on seeking to negative postion
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:32:20 +01:00
Lukasz Marek
f495fbe76a lavf/avio: fix ffurl_alloc error checks
ffurl_alloc doc says it returns >= 0 in case of success.
avio treats non-zero as errors.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:30:27 +01:00
wm4
636273d3d4 http: handle ICY in presence of chunked transfer encoding
Some http servers send an ICY stream in combination with chunked
transfer encoding. This case was handled incorrectly by the ICY code:
instead of handling chunked encoding before anything ICY related, both
were mixed.

Fix this by separating the ICY code from normal http reading. Move the
normal http reading to a new function http_read_stream(), while
http_read() handles ICY on top of http_read_stream().

The server identified itself as: cloudflare-nginx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 22:49:36 +01:00
Michael Niedermayer
12b97dd375 avformat/oggparsevorbis: dont use invalid granules
Fixes Ticket3437

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 17:07:28 +01:00
Marton Balint
d08bb065f2 mpegts: use goto out instead of break on truncated or invalid pmt tables
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 02:28:25 +01:00
Andrey Utkin
bc764d786f Add "prefer_tcp" flag to "rtsp_flags"
If set, and if TCP is available as RTSP RTP transport, then TCP will be
tried first as RTP transport.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 22:54:13 +01:00
Michael Niedermayer
309171bea9 Merge commit '3407172b36'
* commit '3407172b36':
  avienc: K&R formatting cosmetics

Conflicts:
	libavformat/avienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 22:21:58 +01:00
Keiji Costantini
3407172b36 avienc: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-04 18:53:58 +01:00