Skip to content

Commit

Permalink
avformat/async: support filling with a background thread.
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
  • Loading branch information
bbcallen authored and michaelni committed Jul 17, 2015
1 parent 72d1409 commit f477a3f
Show file tree
Hide file tree
Showing 5 changed files with 402 additions and 0 deletions.
1 change: 1 addition & 0 deletions configure
Expand Up @@ -2654,6 +2654,7 @@ x11grab_indev_deps="x11grab"
x11grab_xcb_indev_deps="libxcb"

# protocols
async_protocol_deps="pthreads"
bluray_protocol_deps="libbluray"
ffrtmpcrypt_protocol_deps="!librtmp_protocol"
ffrtmpcrypt_protocol_deps_any="gcrypt gmp openssl"
Expand Down
12 changes: 12 additions & 0 deletions doc/protocols.texi
Expand Up @@ -19,6 +19,18 @@ supported protocols.

A description of the currently available protocols follows.

@section async

Asynchronous data filling wrapper for input stream.

Fill data in a background thread, to decouple I/O operation from demux thread.

@example
async:@var{URL}
async:http://host/resource
async:cache:http://host/resource
@end example

@section bluray

Read BluRay playlist.
Expand Down
1 change: 1 addition & 0 deletions libavformat/Makefile
Expand Up @@ -496,6 +496,7 @@ OBJS-$(CONFIG_LIBSSH_PROTOCOL) += libssh.o
OBJS-$(CONFIG_LIBSMBCLIENT_PROTOCOL) += libsmbclient.o

# protocols I/O
OBJS-$(CONFIG_ASYNC_PROTOCOL) += async.o
OBJS-$(CONFIG_APPLEHTTP_PROTOCOL) += hlsproto.o
OBJS-$(CONFIG_BLURAY_PROTOCOL) += bluray.o
OBJS-$(CONFIG_CACHE_PROTOCOL) += cache.o
Expand Down
1 change: 1 addition & 0 deletions libavformat/allformats.c
Expand Up @@ -351,6 +351,7 @@ void av_register_all(void)


/* protocols */
REGISTER_PROTOCOL(ASYNC, async);
REGISTER_PROTOCOL(BLURAY, bluray);
REGISTER_PROTOCOL(CACHE, cache);
REGISTER_PROTOCOL(CONCAT, concat);
Expand Down

0 comments on commit f477a3f

Please sign in to comment.