diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2012-07-24 16:29:40 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2012-07-25 20:33:13 +0300 |
commit | 758377a2b79a35386978b0af1196d36cbcfb8f64 (patch) | |
tree | d095a35eade41cfe5bfb5ca1ecbfa1dc332972a4 | |
parent | 98df48db6dfc2ed2cef7472e564d0de9639e8774 (diff) | |
download | ffmpeg-758377a2b79a35386978b0af1196d36cbcfb8f64.tar.gz |
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ö <martin@martin.st>
-rw-r--r-- | doc/protocols.texi | 4 | ||||
-rw-r--r-- | libavformat/rtmpproto.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/doc/protocols.texi b/doc/protocols.texi index 616c9cda78..ff872fcdca 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 3dac9fab47..e20aacbc6c 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}, |