mirror of
https://github.com/mpv-player/mpv
synced 2024-12-11 17:37:23 +00:00
e7db4ccf1a
patch replaces '()' for the correct '(void)' in function declarations/prototypes which have no parameters. The '()' syntax tell thats there is a variable list of arguments, so that the compiler cannot check this. The extra CFLAG '-Wstrict-declarations' shows those cases. Comments about a similar patch applied to ffmpeg: That in C++ these mean the same, but in ANSI C the semantics are different; function() is an (obsolete) K&R C style forward declaration, it basically means that the function can have any number and any types of parameters, effectively completely preventing the compiler from doing any sort of type checking. -- Erik Slagter Defining functions with unspecified arguments is allowed but bad. With arguments unspecified the compiler can't report an error/warning if the function is called with incorrect arguments. -- Måns Rullgård git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17567 b3059339-0415-0410-9bf9-f77b7e298cf2
62 lines
1.3 KiB
C
62 lines
1.3 KiB
C
#include <stdlib.h> /* malloc */
|
|
#include <string.h> /* memset */
|
|
|
|
static int init(priv_t *priv);
|
|
static int uninit(priv_t *priv);
|
|
static int control(priv_t *priv, int cmd, void *arg);
|
|
static int start(priv_t *priv);
|
|
static double grab_video_frame(priv_t *priv, char *buffer, int len);
|
|
#ifdef HAVE_TV_BSDBT848
|
|
static double grabimmediate_video_frame(priv_t *priv, char *buffer, int len);
|
|
#endif
|
|
static int get_video_framesize(priv_t *priv);
|
|
static double grab_audio_frame(priv_t *priv, char *buffer, int len);
|
|
static int get_audio_framesize(priv_t *priv);
|
|
|
|
static tvi_functions_t functions =
|
|
{
|
|
init,
|
|
uninit,
|
|
control,
|
|
start,
|
|
grab_video_frame,
|
|
#ifdef HAVE_TV_BSDBT848
|
|
grabimmediate_video_frame,
|
|
#endif
|
|
get_video_framesize,
|
|
grab_audio_frame,
|
|
get_audio_framesize
|
|
};
|
|
|
|
static tvi_handle_t *new_handle(void)
|
|
{
|
|
tvi_handle_t *h = (tvi_handle_t *)malloc(sizeof(tvi_handle_t));
|
|
|
|
if (!h)
|
|
return(NULL);
|
|
h->priv = (priv_t *)malloc(sizeof(priv_t));
|
|
if (!h->priv)
|
|
{
|
|
free(h);
|
|
return(NULL);
|
|
}
|
|
memset(h->priv, 0, sizeof(priv_t));
|
|
h->info = &info;
|
|
h->functions = &functions;
|
|
h->seq = 0;
|
|
h->chanlist = -1;
|
|
h->chanlist_s = NULL;
|
|
h->norm = -1;
|
|
h->channel = -1;
|
|
return(h);
|
|
}
|
|
|
|
static void free_handle(tvi_handle_t *h)
|
|
{
|
|
if (h) {
|
|
if (h->priv)
|
|
free(h->priv);
|
|
free(h);
|
|
}
|
|
}
|