This new type of module will be used to discover renderers (chromecast, UPnP
Renderer, miracast, airport, DIAL, ConeCast).
These modules will send new vlc_renderer_item via an event manager callback.
This new kind of item contain the necessary information to setup a new sout.
Also-by: Steve Lhomme <robux4@videolabs.io>
This lets us handle chroma location correctly further down the
rendering chain (even if in general things can be assumed by just
the video track's format).
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Remove "int options, const char *const *options, unsigned option_flags"
arguments from every New() functions since these args are mainly unused. You
now have to call input_item_AddOptions after input item creation to add
options.
Add input_item_net_type enum in order to avoid confusion between 2 int
arguments: i_duration and i_net that could both be -1, 0 or > 0.
Replace input_item_NewWithType and input_item_NewWithTypeExt with
input_item_NewExt.
Add input_item_NewCard, input_item_NewDisc, input_item_NewStream,
input_item_NewDirectory, input_item_NewFile MACRO. These MACROS avoid to use
useless arguments for an item type (for example, it's useless to specify a
duration for a directory type).
This state was never set or used. If it was set, it would have overridden the
media state since a media can be buffering while opening or during playback
(while seeking).
PS: Listen to the libvlc_MediaPlayerBuffering event if you want to know if a
media player is buffering.
Fixes compile error with gcc-4.9.3:
CXX demux/mkv/libmkv_plugin_la-util.lo
In file included from ../include/vlc_common.h:893:0,
from demux/mkv/mkv.hpp:38,
from demux/mkv/util.cpp:24:
demux/mkv/util.cpp: In function 'void handle_real_audio(demux_t*, mkv_track_t*, block_t*, mtime_t)':
demux/mkv/util.cpp:192:79: error: expected ')' before 'PRId64'
msg_Dbg( p_demux, "discard non-key preroll block in track %d at%" PRId64,
^
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Support for strnstr was added in
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=4c1238c77239cdea38a44748f2800332818b6750
but for systems lacking it, it broke the build:
CC strnstr.lo
In file included from ../config.h:887:0,
from strnstr.c:22:
../include/vlc_fixups.h:157:45: error: unknown type name ‘size_t’
char * strnstr (const char *, const char *, size_t);
This patch fixes the problem by adding strnstr to a list of other
functions to get size_t defined.
Bug was reported to trac:
https://trac.videolan.org/vlc/ticket/16767
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
This keystore is used to store credentials on memory if no others keystore is
found or if the user doesn't want to store them permanently. This keystore is
owned by libvlc and is shared with all vlc objects. It's released when the
libvlc instance is released.
And set the JavaVM* in a libvlc var option.
This will allow android modules to access a JNIEnv* even when the parent is a
not a libvlc_media_player. This will be used for the android Keystore module
for example.
Furthermore, this simplify the libvlc API when setting an android context.
The rationale behind this patch is easier to explain with a little bit
of code than in words, but one can summarize it with; "wrong linkage
used for `vlc_set_cb` when `include/vlc_plugin.h` is compiled as C++,
this fixes that".
Explanation
-----------
extern "C" typedef void(*callback_t)();
void cpp_func (callback_t);
Above the name `cpp_func` has C++ linkage, and its type is a C++ function
returning `void`, accepting a pointer-to-function-with-C-linkage (returning
`void` and takes no arguments).
typedef void(*callback_t) ();
extern "C" int c_func (callback_t);
In this example (matching the code in `include/vlc_plugin.h`), the name `c_func`
has C linkage, and its type is a C function returning `int`, accepting a
pointer-to-function-with-C++-linkage (that returns `void` and takes no
arguments).
Conclusion
----------
Since `vlc_entry_*` will be called from C, the first parameter when invoked will
be a pointer to function with C linkage---as such this patch fixes the
previously erroneous linkage.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>