On Tue, 24 Jul 2012, Samuel Pitoiset wrote:

---
doc/protocols.texi      | 4 ++++
libavformat/rtmpproto.c | 7 +++++++
2 files changed, 11 insertions(+)

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},
--
1.7.11.1

Looks good to me, thanks :-)

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to