aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/rtmpproto.c
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2012-07-17 12:02:42 +0200
committerMartin Storsjö <martin@martin.st>2012-07-17 13:53:33 +0300
commit6aedabc9b68cab7b65833415953e958ac2c77f80 (patch)
tree1f0a7e897f9dba9dab14c56f85b15df3cd80f1ed /libavformat/rtmpproto.c
parent5417efbbf313781f5bac38daee95f62c671c5d63 (diff)
downloadffmpeg-6aedabc9b68cab7b65833415953e958ac2c77f80.tar.gz
RTMPS protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/rtmpproto.c')
-rw-r--r--libavformat/rtmpproto.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index f8ec894344..07af403f50 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -1121,6 +1121,11 @@ static int rtmp_open(URLContext *s, const char *uri, int flags)
if (!strcmp(proto, "rtmpt")) {
/* open the http tunneling connection */
ff_url_join(buf, sizeof(buf), "ffrtmphttp", NULL, hostname, port, NULL);
+ } else if (!strcmp(proto, "rtmps")) {
+ /* open the tls connection */
+ if (port < 0)
+ port = RTMPS_DEFAULT_PORT;
+ ff_url_join(buf, sizeof(buf), "tls", NULL, hostname, port, NULL);
} else {
/* open the tcp connection */
if (port < 0)
@@ -1444,6 +1449,24 @@ URLProtocol ff_rtmp_protocol = {
.priv_data_class= &rtmp_class,
};
+static const AVClass rtmps_class = {
+ .class_name = "rtmps",
+ .item_name = av_default_item_name,
+ .option = rtmp_options,
+ .version = LIBAVUTIL_VERSION_INT,
+};
+
+URLProtocol ff_rtmps_protocol = {
+ .name = "rtmps",
+ .url_open = rtmp_open,
+ .url_read = rtmp_read,
+ .url_write = rtmp_write,
+ .url_close = rtmp_close,
+ .priv_data_size = sizeof(RTMPContext),
+ .flags = URL_PROTOCOL_FLAG_NETWORK,
+ .priv_data_class = &rtmps_class,
+};
+
static const AVClass rtmpt_class = {
.class_name = "rtmpt",
.item_name = av_default_item_name,