| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| | |
If the embedded flv packets were incomplete and we aborted the
copying loop early, make sure the flv buffer is trimmed to
only contain full packets.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '24fee95321c1463360ba7042d026dae021854360':
rtmpproto: Move the flv header/trailer addition to append_flv_data
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
update_offset is also called from handle_metadata, where the
packet header sizes is already included in the size.
Previously this lead to flv_data/flv_size including 15 uninitialized
bytes at the end after each call to handle_metadata, making the
flv demuxer lose sync with the stream.
Also remove leftover copying in handle_metadata. This is a leftover
from the refactoring in 5840473. (Previously this final mempcy was
the one that copied all the packets at once, while this is done
within the loop right now.) After making sure flv_size is set to
the right size, this write was out of bounds.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '72540e514ceaaed8ecb97ed63637b2a2a4447ab8':
rtmpproto: Clear the flv allocation size on reallocp failures
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
This was overlooked in d872fb0f7 since I assumed all the realloc
issues in the rtmp code was fixed already.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '4d6d70292e91a7ef027824d731b6b6570ceabf2f':
rtmpproto: Pass the 'live' parameter in the right unit
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current magic numbers passed are values in seconds, while the
parameter itself should be passed over the wire in milliseconds.
This makes (some/all?) live streams from Red5 work correctly, that
previously returned StreamNotFound even with "-rtmp_live live". After
this commit, the default 'any' also works on these streams.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'a6b361325f2bfc8d9d4e5f761d6c1a07b209c4fb':
rtmpproto: Print the error code string if there's no description
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On (certain streams/setups at least on) Red5, the description string
actually is present, but empty. Therefore, first try loading the
description, but if not found or empty, load the code string instead.
The code string is quite understandable in most cases anyway (like
"NetStream.Play.StreamNotFound").
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* qatar/master:
rtmp: alias rtmp_listen to listen
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Make it uniform with the other protocols.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'd872fb0f7ff2ff0ba87f5ccf6a1a55ca2be472c9':
lavf: Reset the entry count and allocation size variables on av_reallocp failures
Conflicts:
libavformat/avienc.c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
failures
When av_reallocp fails, the associated variables that keep track of
the number of elements in the array (and in some cases, the
separate number of allocated elements) need to be reset.
Not all of these might technically be needed, but it's better to
reset them if in doubt, to make sure variables don't end up
conflicting.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'ba77757a7efafe38924b6b423acfca8c1e1c62d6':
rtmp: Replace a magic number with a macro
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
11 is the RTMP header size.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '5840473890440dbe0bd2cce530ebb3d93e187ae6':
rtmp: Rewrite embedded flv handling
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| | |
Use update_offset() as done for rtmp audio, video and notifications and
read update and write the fields instead of replacing them in the rtmp
packet and then memcpying it to the output buffer.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'e40a0e822801d2485e4e555909d7a82713fa86a5':
rtmp: Refactor get_packet
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '5532ee6d7d554bb54d4374d0b69f72bc9ab9fd91':
rtmp: Unbreak get_packet
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Commit 5626f994f273af80fb100d4743b963304de9e05c broke it.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'b97b1adb3f807e1acd00d56319ee6cb41cc727e4':
rtmpproto: Add a comment explaining the logic in handle_notify
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
This explains why the cleanup in 5626f994f was wrong and why
ae0f316a was needed.
Signed-off-by: Martin Storsjö <[email protected]>
|
| |
| |
| |
| | |
Commit 5626f994f273af80fb100d4743b963304de9e05c broke it.
|
| |
| |
| |
| | |
Commit 5626f994f273af80fb100d4743b963304de9e05c broke it.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '5626f994f273af80fb100d4743b963304de9e05c':
avformat: Use av_reallocp() where suitable
Conflicts:
libavformat/avidec.c
libavformat/avienc.c
libavformat/aviobuf.c
libavformat/oggparsevorbis.c
libavformat/utils.c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Diego Biurrun <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '8583b14252deac71136f1dec231910abab0ba503':
rtmp: Support reading interleaved chunks.
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A given packet won't always come in contiguously; sometimes
they may be broken up on chunk boundaries by packets of another
channel.
This support primarily involves tracking information about the
data that's been read, so the reader can pick up where it left
off for a given channel.
As a side effect, we no longer over-report the bytes read if
(toread = MIN(size, chunk_size)) == size
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'dc4acc820076b2149ef6c921bdabe05d07ca1bc6':
rtmpproto: Extend a comment to explain the prev_pkt arrays roles
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '647d655d19c38e9716328e4787199149097d6089':
rtmpproto: Consistently use the right prev_pkt array
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
prev_pkt[0] is used for input packets, while prev_pkt[1] is
used for output.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '0d3784396b736374a61fea26268febdabd803a59':
rtmpproto: Check for the right return code
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* qatar/master:
rtmp: rename main_channel_id to stream_id.
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
This more closely corresponds to the usage of the field.
Its usage here is unrelated to the channel ID.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'd4aef997809167832ecc64e89dda8cb445e5fe10':
rtmp: Follow Flash player numbering for channels.
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Channel 4 is typically used by the Flash player to transmit
audio, channel 6 for video, and various stream-specific invokes
get sent over channel 8, which is designated the source channel.
This more closely matches the behavior of the Flash player,
including the transmission of play requests over channel 8.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '120af23cd5fcfc539d9575d17d403247ab17109b':
rtmp: Send video on a separate channel.
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sending non-monotonic packets (e.g. when the audio and video
streams are monotonic within themselves but not muxed
monotonically) will lead to negative values the RTMP timestamp
field (where timestamps are transmitted only as deltas for each
channel), and this delta can end up being incorrectly written as
a large unsigned number.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '92ed83e393d25b6d15920e90d56ee77de54a9728':
rtmp: Store all the notify messages
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
The onTextData is used to implement text data streams in flv.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'fe0337e89bbbe84b7274fbb0d9d56ed992937931':
rtmp: Do not send the first field twice within the handshake
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '666ed7eda1d568638689ac7b0cef0a9e564ffbdf':
rtmp: Drop an unneeded warning
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| | |
Apparently a widely used streaming server requires that the second
field always presents a version during C1 phase.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'ffb7669e47343ac0caa866361965fdb2bf6ed825':
rtmp: Support play method in listen mode
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '97d35fa89f73468d64f663bfc0686aa6cddd8b6a':
rtmp: Factor out publish specific code
Merged-by: Michael Niedermayer <[email protected]>
|