* commit '33f28a3be3092f642778253d9529dd66fe2a014a':
rtmp: Add a function for writing AMF strings based on two substrings
rtmp: Return a proper error code in handle_invoke_error
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Limelight is a not too uncommon CDN. The authentication scheme is
pretty similar to the adobe authentication, but is even closer to
normal http digest authentication (but not close enough to warrant
sharing code) than the adobe version.
Signed-off-by: Martin Storsjö <martin@martin.st>
This is mostly used to authenticate the client when publishing.
Tested with wowza and akamai.
Some but not all servers support resending a new connect invoke
within the same connection, so always reconnect for sending a new
connection attempt. This matches what other applications do as well.
The authentication scheme is structurally pretty similar to http
digest authentication, but uses base64 instead of hex strings.
Signed-off-by: Martin Storsjö <martin@martin.st>
Current MicroDVD AVPackets contain timing information and trailing line
breaks. The data is now only composed of the markup data. Doing this
consistently between text subtitles decoders allows to use different
codec for various formats. For instance, MicroDVD markup is sometimes
found in some VPlayer files. Also, generally speaking, the subtitles
text decoders have no use of these timings (and they must not use them
since it would break any user timing adjustment).
Technically, this is a major ABI break. In practice, a mismatching
lavf/lavc will now error out for MicroDVD decoding. Supporting both
formats requires unnecessary complex and fragile code.
FATE needs update because line breaks in the ASS file were "\n" (because
that's what is used in the original file). ASS format expect "\r\n" line
breaks; this commit fixes this issue. Also note that this "\r\n"
trailing need to be moved at some point from the decoders to the ASS
muxer.
Note that the linebreaks text codec option (but not the feature) has
been removed; its main goal was to allow demuxers to configure the text
decoder (and not meant to be used by users), but the AVOption are not a
viable solution. This is solved differently in this commit.
This commit also makes sure the extradata and subtitle_header are NUL
terminated, without taking into account the trailing '\0' in account in
the size.
At the same time, it should fix 'warning: dereferencing type-punned
pointer will break strict-aliasing rules' warning for compilers who
don't consider uint8_t** and char** compatibles.
* commit '30a76487304e7250294c9c0e9fa179bf07fd822a':
hlsenc: make segment number unsigned
hlsenc: make EXT-X-MEDIA-SEQUENCE always increase
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9b1370aced385698bc783747917544ab69ecb373':
hlsenc: do not add timestamps in different timebases
hlsenc: use the correct AV_TIME_BASE macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0448f26c97c5ab4858d31e456a4f1738ae783242':
hlsenc: keep the playlist to the correct number of items
hlsenc: use the segment filename in the playlist entry
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '6dd93ee6f1b050ad7c4b247899e83efa293ee405':
hlsenc: check append_entry return value
hlsenc: use the basename to generate the list entries
avstring: add av_basename and av_dirname
Conflicts:
Changelog
doc/APIchanges
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some wav files report a data size that is bigger than the actual file size.
Fall back to estimation from bitrate in such cases.
Fixes ticket #2065.
Signed-off-by: James Almer <jamrial@gmail.com>
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.
Since 83cab07 audio stream time bases are based on SampleRate, not EditRate.
This fixes trac ticket #2029 and a few seeking issues.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
If s->filename doesn't contain any period/filename extension to strip
away, the buffer will be too small to fit both strings. This isn't
any buffer overflow since the concatenation uses av_strlcat with
the right buffer size.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59':
rtpdec: Pass the sequence number to depacketizers
configure: Make avconv depend on null, anull and resample filters
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'a925f723a915bc0255e2673f8817af5212131763':
rtp: Don't read priv_data unless it is allocated
flvenc: Check whether seeking back to the header succeeded
sapenc: Pass the title on to the chained muxers
Conflicts:
libavformat/flvenc.c
libavformat/sapenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is built on the assumption that the first partition of each
VP8 packet is essential for decoding any later packet - if this
partition is broken/missed, the arithmetic coder gets out of sync
and decoding the bitstream in further packet ends up with total
garbage. If packets of a frame are lost, make sure the first
partition is intact (return only this part of the packet, nothing
else), otherwise stop returning data until the next keyframe is
received.
Alternatively, one would simply not return any packets at all
until the next keyframe, if packet loss is detected.
Signed-off-by: Martin Storsjö <martin@martin.st>
it causes problems (incorrectly detect TS discontinuities)
with a brokan TS file (test-audio-broken.ts)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
After demuxing, data and side are merged. Before decoding, they are
split. Encoder will perform with data and side split. This means that a
muxer can receive split data (after encoding) but also merged data (if
called directly after demuxing). This commit makes sure data and side
are split for the muxer.
This makes all users of rtpenc_chain (rtsp muxer, sapenc, mov
rtp hinting) work again, broken since 8034130e0.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011':
cmdutils: pass number of groups to split_commandline().
mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
Conflicts:
libavcodec/h264_ps.c
libavformat/isom.c
libavformat/mov.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seeking to the header fails.
Signed-off-by: Martin Storsjö <martin@martin.st>
They are completely superfluous when using av_rescale_q_rnd().
Call av_rescale_rnd() using what used to be the numerators instead.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.
Patch based on commit 5442083b1c by
Carl Eugen Hoyos. Fixes bug 393.
* commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a':
au: Reorder code so that both muxer and demuxer are under #ifdefs
fate: Move RALF test into lossless audio group
cosmetics: Use consistent names for multiple inclusion guards.
Conflicts:
libavformat/au.c
tests/fate/lossless-audio.mak
tests/fate/real.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Pass "title" metadata field to av_sdp_create (as in RTP muxer) in SAP
muxer for correct
session name in SAP SDP announcements.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f322b2073581119de5da74f92a03309a36891cfa':
lavr: only save/restore the mixing matrix if mixing is being done
rtpdec_vp8: Cosmetics: Fix bad alignment/indentation
rtpenc: Allow including a SDES/CNAME block in RTCP SR packets
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '65e053271a98f7acf3ef6b412998cfcb44a8eef8':
rtpenc_vp8: Include the picture number in VP8 packets
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This makes it easier for receivers to decide what to do if data
is lost.
Refactor calculating the max payload size, to avoid hardcoding the
header size in too many places, reducing the number of lines that
have to be touched if the header is adjusted further.
Signed-off-by: Martin Storsjö <martin@martin.st>
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seek to header fails.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>