Commit 89dbe148 authored by basOS G's avatar basOS G Committed by Rémi Denis-Courmont

Changed snapshot naming format to be prefix-YYMMDD-HHMMSS.ext

Snapshot files are named after the current local date
Signed-off-by: default avatarRémi Denis-Courmont <rdenis@simphalempin.com>
parent 332f9ac8
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <dirent.h> /* opendir() */ #include <dirent.h> /* opendir() */
#include <assert.h> #include <assert.h>
#include <time.h> /* strftime */
#include <vlc_interface.h> #include <vlc_interface.h>
#include <vlc_block.h> #include <vlc_block.h>
...@@ -757,6 +758,13 @@ int vout_Snapshot( vout_thread_t *p_vout, picture_t *p_pic ) ...@@ -757,6 +758,13 @@ int vout_Snapshot( vout_thread_t *p_vout, picture_t *p_pic )
} }
else else
{ {
struct tm* curtime;
time_t lcurtime ;
lcurtime = time( NULL ) ;
if ( ( (curtime = localtime( &lcurtime )) == NULL ) )
{
msg_Warn( p_vout, "failed to get current time. Falling back to legacy snapshot naming" );
/* failed to get current time. Fallback to old format */
if( asprintf( &psz_filename, "%s" DIR_SEP "%s%u.%s", if( asprintf( &psz_filename, "%s" DIR_SEP "%s%u.%s",
val.psz_string, psz_prefix, val.psz_string, psz_prefix,
(unsigned int)(p_pic->date / 100000) & 0xFFFFFF, (unsigned int)(p_pic->date / 100000) & 0xFFFFFF,
...@@ -767,7 +775,25 @@ int vout_Snapshot( vout_thread_t *p_vout, picture_t *p_pic ) ...@@ -767,7 +775,25 @@ int vout_Snapshot( vout_thread_t *p_vout, picture_t *p_pic )
return VLC_EGENERIC; return VLC_EGENERIC;
} }
} }
else
{
char psz_curtime[15] ;
if( strftime( psz_curtime, 15, "%y%m%d-%H%M%S", curtime ) == 0 )
{
msg_Warn( p_vout, "snapshot date string truncated" ) ;
}
if( asprintf( &psz_filename, "%s" DIR_SEP "%s%s%1u.%s",
val.psz_string, psz_prefix, psz_curtime,
/* suffix with the last decimal digit in 10s of seconds resolution */
(unsigned int)(p_pic->date / 100*1000) & 0xFF,
format.psz_string ) == -1 )
{
msg_Err( p_vout, "could not create snapshot" );
image_HandlerDelete( p_image );
return VLC_EGENERIC;
}
} //end if time() < 0
} //end snapshot sequential
free( psz_prefix ); free( psz_prefix );
} }
else // The user specified a full path name (including file name) else // The user specified a full path name (including file name)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment