X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess_filter%2Fdump.c;h=f6e28f696cbf589d348fd1e8412ccfad83ee17a1;hb=588723d7c65ccdb0fa5cc39b3cae132176637300;hp=a47445932cf2cd5cfebe88f916a63c8fd0bdd15f;hpb=806cf5165824be921bf2402ecf11fd3ee6501f9c;p=vlc diff --git a/modules/access_filter/dump.c b/modules/access_filter/dump.c index a47445932c..f6e28f696c 100644 --- a/modules/access_filter/dump.c +++ b/modules/access_filter/dump.c @@ -21,7 +21,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include #include #include @@ -46,21 +51,18 @@ static int Open (vlc_object_t *); static void Close (vlc_object_t *); vlc_module_begin (); - set_shortname (_("Dump")); - set_description (_("Dump")); + set_shortname (N_("Dump")); + set_description (N_("Dump")); set_category (CAT_INPUT); set_subcategory (SUBCAT_INPUT_ACCESS_FILTER); set_capability ("access_filter", 0); add_shortcut ("dump"); set_callbacks (Open, Close); - add_bool ("dump-force", VLC_FALSE, NULL, FORCE_TEXT, - FORCE_LONGTEXT, VLC_FALSE); - change_safe(); + add_bool ("dump-force", false, NULL, FORCE_TEXT, + FORCE_LONGTEXT, false); add_integer ("dump-margin", DEFAULT_MARGIN, NULL, MARGIN_TEXT, - MARGIN_LONGTEXT, VLC_FALSE); - change_safe(); - + MARGIN_LONGTEXT, false); vlc_module_end(); static ssize_t Read (access_t *access, uint8_t *buffer, size_t len); @@ -89,8 +91,8 @@ static int Open (vlc_object_t *obj) if (!var_CreateGetBool (access, "dump-force")) { - vlc_bool_t b; - if ((access2_Control (src, ACCESS_CAN_FASTSEEK, &b) == 0) && b) + bool b; + if ((access_Control (src, ACCESS_CAN_FASTSEEK, &b) == 0) && b) { msg_Dbg (obj, "dump filter useless"); return VLC_EGENERIC; @@ -120,7 +122,7 @@ static int Open (vlc_object_t *obj) } p_sys->tmp_max = ((int64_t)var_CreateGetInteger (access, "dump-margin")) << 20; - var_AddCallback (access->p_libvlc, "key-pressed", KeyHandler, access); + var_AddCallback (access->p_libvlc, "key-action", KeyHandler, access); return VLC_SUCCESS; } @@ -134,7 +136,7 @@ static void Close (vlc_object_t *obj) access_t *access = (access_t *)obj; access_sys_t *p_sys = access->p_sys; - var_DelCallback (access->p_libvlc, "key-pressed", KeyHandler, access); + var_DelCallback (access->p_libvlc, "key-action", KeyHandler, access); if (p_sys->stream != NULL) fclose (p_sys->stream); @@ -243,26 +245,6 @@ static int Seek (access_t *access, int64_t offset) return ret; } - -#ifndef HAVE_LOCALTIME_R -static inline struct tm *localtime_r (const time_t *now, struct tm *res) -{ - struct tm *unsafe = localtime (now); - /* - * This is not thread-safe. Blame your C library. - * On Win32 there SHOULD be _localtime_s instead, but of course - * Cygwin and Mingw32 don't know about it. You're on your own if you - * use this platform. - */ - if (unsafe == NULL) - return NULL; - - memcpy (res, unsafe, sizeof (*res)); - return res; -} -#endif - - static void Trigger (access_t *access) { access_sys_t *p_sys = access->p_sys; @@ -285,7 +267,7 @@ static void Trigger (access_t *access) // and there is an off-by-one in the following sprintf(). return; - const char *home = access->p_libvlc->psz_homedir; + const char *home = config_GetHomeDir(); /* Hmm what about the extension?? */ char filename[strlen (home) + sizeof ("/vlcdump-YYYYYYYYY-MM-DD-HH-MM-SS.ts")]; @@ -346,16 +328,7 @@ static int KeyHandler (vlc_object_t *obj, char const *varname, (void)oldval; (void)obj; - for (struct hotkey *key = access->p_libvlc->p_hotkeys; - key->psz_action != NULL; key++) - { - if (key->i_key == newval.i_int) - { - if (key->i_action == ACTIONID_DUMP) - Trigger ((access_t *)data); - break; - } - } - + if (newval.i_int == ACTIONID_DUMP) + Trigger (access); return VLC_SUCCESS; }