Samuel Pitoiset <[email protected]> wrote:
>---
> libavformat/rtmpproto.c | 10 +++++++++-
> 1 files changed, 9 insertions(+), 1 deletions(-)
>
>diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
>index 9cdb639..209d108 100644
>--- a/libavformat/rtmpproto.c
>+++ b/libavformat/rtmpproto.c
>@@ -66,6 +66,7 @@ typedef struct RTMPContext {
>int chunk_size; ///< size of the chunks RTMP
>packets are divided into
> int is_input; ///< input/output flag
>char *playpath; ///< stream identifier to
>play (with possible "mp4:" prefix)
>+ int live; ///< live stream
> char *app; ///< name of application
> ClientState state; ///< current state
>int main_channel_id; ///< an additional channel ID
>which is used for some invocations
>@@ -287,7 +288,7 @@ static void gen_play(URLContext *s, RTMPContext
>*rt)
>
>av_log(s, AV_LOG_DEBUG, "Sending play command for '%s'\n",
>rt->playpath);
> ff_rtmp_packet_create(&pkt, RTMP_VIDEO_CHANNEL, RTMP_PT_INVOKE, 0,
>- 20 + strlen(rt->playpath));
>+ 32 + strlen(rt->playpath));
> pkt.extra = rt->main_channel_id;
>
> p = pkt.data;
>@@ -295,6 +296,7 @@ static void gen_play(URLContext *s, RTMPContext
>*rt)
> ff_amf_write_number(&p, ++rt->nb_invokes);
> ff_amf_write_null(&p);
> ff_amf_write_string(&p, rt->playpath);
>+ ff_amf_write_number(&p, rt->live);
>
>ff_rtmp_packet_write(rt->stream, &pkt, rt->chunk_size,
>rt->prev_pkt[1]);
> ff_rtmp_packet_destroy(&pkt);
>@@ -908,6 +910,11 @@ static int rtmp_open(URLContext *s, const char
>*uri, int flags)
> strncat(rt->playpath, fname, PLAYPATH_MAX_LENGTH - 5);
> }
>
>+ /* If you pass -1 in the Start field (ie. the live field),
>+ * only the live stream is played. If you pass 0, a
>+ * recorded stream is played. */
>+ rt->live = (rt->live) ? -1 : 0;
-2 should be "try both". Please doublecheck.
> rt->client_report_size = 1048576;
> rt->bytes_read = 0;
> rt->last_bytes_read = 0;
>@@ -1050,6 +1057,7 @@ static int rtmp_write(URLContext *s, const
>uint8_t *buf, int size)
>
> static const AVOption rtmp_options[] = {
>{"rtmp_app", "Name of application to connect to on the RTMP server",
>OFFSET(app), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, DEC|ENC},
>+ {"rtmp_live", "Specify that the media is a live stream.",
>OFFSET(live), AV_OPT_TYPE_INT, {0}, 0, 1, DEC},
>{"rtmp_playpath", "Stream identifier to play or to publish",
>OFFSET(playpath), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, DEC|ENC},
> { NULL },
> };
>--
>1.7.7.5 (Apple Git-26)
>
>_______________________________________________
>libav-devel mailing list
>[email protected]
>https://lists.libav.org/mailman/listinfo/libav-devel
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel