#include "libavutil/avstring.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "avformat.h"
#include "url.h"
#include <librtmp/rtmp.h>
#include <librtmp/log.h>
Go to the source code of this file.
Data Structures | |
| struct | LibRTMPContext |
Defines | |
| #define | OFFSET(x) offsetof(LibRTMPContext, x) |
| #define | DEC AV_OPT_FLAG_DECODING_PARAM |
| #define | ENC AV_OPT_FLAG_ENCODING_PARAM |
| #define | RTMP_CLASS(flavor) |
Functions | |
| static void | rtmp_log (int level, const char *fmt, va_list args) |
| static int | rtmp_close (URLContext *s) |
| static int | rtmp_open (URLContext *s, const char *uri, int flags) |
| Open RTMP connection and verify that the stream can be played. | |
| static int | rtmp_write (URLContext *s, const uint8_t *buf, int size) |
| static int | rtmp_read (URLContext *s, uint8_t *buf, int size) |
| static int | rtmp_read_pause (URLContext *s, int pause) |
| static int64_t | rtmp_read_seek (URLContext *s, int stream_index, int64_t timestamp, int flags) |
| static int | rtmp_get_file_handle (URLContext *s) |
Variables | |
| static const AVOption | options [] |
| URLProtocol | ff_librtmp_protocol |
| URLProtocol | ff_librtmpt_protocol |
| URLProtocol | ff_librtmpe_protocol |
| URLProtocol | ff_librtmpte_protocol |
| URLProtocol | ff_librtmps_protocol |
Definition in file librtmp.c.
| #define OFFSET | ( | x | ) | offsetof(LibRTMPContext, x) |
| #define RTMP_CLASS | ( | flavor | ) |
Value:
static const AVClass lib ## flavor ## _class = {\ .class_name = "lib" #flavor " protocol",\ .item_name = av_default_item_name,\ .option = options,\ .version = LIBAVUTIL_VERSION_INT,\ };
| static int rtmp_close | ( | URLContext * | s | ) | [static] |
| static int rtmp_get_file_handle | ( | URLContext * | s | ) | [static] |
| static void rtmp_log | ( | int | level, | |
| const char * | fmt, | |||
| va_list | args | |||
| ) | [static] |
| static int rtmp_open | ( | URLContext * | s, | |
| const char * | uri, | |||
| int | flags | |||
| ) | [static] |
Open RTMP connection and verify that the stream can be played.
URL syntax: rtmp://server[:port][/app][/playpath][ keyword=value]... where 'app' is first one or two directories in the path (e.g. /ondemand/, /flash/live/, etc.) and 'playpath' is a file name (the rest of the path, may be prefixed with "mp4:")
Additional RTMP library options may be appended as space-separated key-value pairs.
| static int rtmp_read | ( | URLContext * | s, | |
| uint8_t * | buf, | |||
| int | size | |||
| ) | [static] |
| static int rtmp_read_pause | ( | URLContext * | s, | |
| int | pause | |||
| ) | [static] |
| static int64_t rtmp_read_seek | ( | URLContext * | s, | |
| int | stream_index, | |||
| int64_t | timestamp, | |||
| int | flags | |||
| ) | [static] |
| static int rtmp_write | ( | URLContext * | s, | |
| const uint8_t * | buf, | |||
| int | size | |||
| ) | [static] |
Initial value:
{
.name = "rtmp",
.url_open = rtmp_open,
.url_read = rtmp_read,
.url_write = rtmp_write,
.url_close = rtmp_close,
.url_read_pause = rtmp_read_pause,
.url_read_seek = rtmp_read_seek,
.url_get_file_handle = rtmp_get_file_handle,
.priv_data_size = sizeof(LibRTMPContext),
.priv_data_class = &librtmp_class,
.flags = URL_PROTOCOL_FLAG_NETWORK,
}
Initial value:
{
.name = "rtmpe",
.url_open = rtmp_open,
.url_read = rtmp_read,
.url_write = rtmp_write,
.url_close = rtmp_close,
.url_read_pause = rtmp_read_pause,
.url_read_seek = rtmp_read_seek,
.url_get_file_handle = rtmp_get_file_handle,
.priv_data_size = sizeof(LibRTMPContext),
.priv_data_class = &librtmpe_class,
.flags = URL_PROTOCOL_FLAG_NETWORK,
}
Initial value:
{
.name = "rtmps",
.url_open = rtmp_open,
.url_read = rtmp_read,
.url_write = rtmp_write,
.url_close = rtmp_close,
.url_read_pause = rtmp_read_pause,
.url_read_seek = rtmp_read_seek,
.url_get_file_handle = rtmp_get_file_handle,
.priv_data_size = sizeof(LibRTMPContext),
.priv_data_class = &librtmps_class,
.flags = URL_PROTOCOL_FLAG_NETWORK,
}
Initial value:
{
.name = "rtmpt",
.url_open = rtmp_open,
.url_read = rtmp_read,
.url_write = rtmp_write,
.url_close = rtmp_close,
.url_read_pause = rtmp_read_pause,
.url_read_seek = rtmp_read_seek,
.url_get_file_handle = rtmp_get_file_handle,
.priv_data_size = sizeof(LibRTMPContext),
.priv_data_class = &librtmpt_class,
.flags = URL_PROTOCOL_FLAG_NETWORK,
}
Initial value:
{
.name = "rtmpte",
.url_open = rtmp_open,
.url_read = rtmp_read,
.url_write = rtmp_write,
.url_close = rtmp_close,
.url_read_pause = rtmp_read_pause,
.url_read_seek = rtmp_read_seek,
.url_get_file_handle = rtmp_get_file_handle,
.priv_data_size = sizeof(LibRTMPContext),
.priv_data_class = &librtmpte_class,
.flags = URL_PROTOCOL_FLAG_NETWORK,
}
1.5.8