Module: libav Branch: master Commit: 758377a2b79a35386978b0af1196d36cbcfb8f64
Author: Samuel Pitoiset <samuel.pitoi...@gmail.com> Committer: Martin Storsjö <mar...@martin.st> Date: Tue Jul 24 16:29:40 2012 +0200 rtmp: Add a new option 'rtmp_pageurl' This option specifies the URL of the web page in which the media was embedded. Signed-off-by: Martin Storsjö <mar...@martin.st> --- doc/protocols.texi | 4 ++++ libavformat/rtmpproto.c | 7 +++++++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/doc/protocols.texi b/doc/protocols.texi index 616c9cd..ff872fc 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -229,6 +229,10 @@ playpath. If a live stream of that name is not found, it plays the recorded stream. The other possible values are @code{live} and @code{recorded}. +@item rtmp_pageurl +URL of the web page in which the media was embedded. By default no +value will be sent. + @item rtmp_playpath Stream identifier to play or to publish. This option overrides the parameter specified in the URI. diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 3dac9fa..e20aacb 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -90,6 +90,7 @@ typedef struct RTMPContext { char* tcurl; ///< url of the target stream char* flashver; ///< version of the flash plugin char* swfurl; ///< url of the swf player + char* pageurl; ///< url of the web page int server_bw; ///< server bandwidth int client_buffer_time; ///< client buffer time in ms int flush_interval; ///< number of packets flushed in the same request (RTMPT only) @@ -232,6 +233,11 @@ static int gen_connect(URLContext *s, RTMPContext *rt) ff_amf_write_number(&p, 252.0); ff_amf_write_field_name(&p, "videoFunction"); ff_amf_write_number(&p, 1.0); + + if (rt->pageurl) { + ff_amf_write_field_name(&p, "pageUrl"); + ff_amf_write_string(&p, rt->pageurl); + } } ff_amf_write_object_end(&p); @@ -1498,6 +1504,7 @@ static const AVOption rtmp_options[] = { {"any", "both", 0, AV_OPT_TYPE_CONST, {-2}, 0, 0, DEC, "rtmp_live"}, {"live", "live stream", 0, AV_OPT_TYPE_CONST, {-1}, 0, 0, DEC, "rtmp_live"}, {"recorded", "recorded stream", 0, AV_OPT_TYPE_CONST, {0}, 0, 0, DEC, "rtmp_live"}, + {"rtmp_pageurl", "URL of the web page in which the media was embedded. By default no value will be sent.", OFFSET(pageurl), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, DEC}, {"rtmp_playpath", "Stream identifier to play or to publish", OFFSET(playpath), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, DEC|ENC}, {"rtmp_swfurl", "URL of the SWF player. By default no value will be sent", OFFSET(swfurl), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, DEC|ENC}, {"rtmp_tcurl", "URL of the target stream. Defaults to proto://host[:port]/app.", OFFSET(tcurl), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, DEC|ENC}, _______________________________________________ libav-commits mailing list libav-commits@libav.org https://lists.libav.org/mailman/listinfo/libav-commits