vlc | branch: master | Rafaël Carré <[email protected]> | Thu Jan 16 22:00:52 2014 +0100| [17818d7bce710b281bc9d012aaf84a18b59924e2] | committer: Rafaël Carré
Use str_format_meta for snapshots Fixes: #9938 > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=17818d7bce710b281bc9d012aaf84a18b59924e2 --- src/video_output/snapshot.c | 16 ++++++++++------ src/video_output/snapshot.h | 2 +- src/video_output/vout_intf.c | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/video_output/snapshot.c b/src/video_output/snapshot.c index 0519101..c8096ef 100644 --- a/src/video_output/snapshot.c +++ b/src/video_output/snapshot.c @@ -26,6 +26,7 @@ # include "config.h" #endif +#include <assert.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/time.h> @@ -36,8 +37,10 @@ #include <vlc_fs.h> #include <vlc_strings.h> #include <vlc_block.h> +#include <vlc_vout.h> #include "snapshot.h" +#include "vout_internal.h" /* */ void vout_snapshot_Init(vout_snapshot_t *snap) @@ -137,12 +140,13 @@ char *vout_snapshot_GetDirectory(void) /* */ int vout_snapshot_SaveImage(char **name, int *sequential, const block_t *image, - vlc_object_t *object, + vout_thread_t *p_vout, const vout_snapshot_save_cfg_t *cfg) { /* */ char *filename; DIR *pathdir = vlc_opendir(cfg->path); + input_thread_t *input = (input_thread_t*)p_vout->p->input; if (pathdir != NULL) { /* The use specified a directory path */ closedir(pathdir); @@ -150,7 +154,7 @@ int vout_snapshot_SaveImage(char **name, int *sequential, /* */ char *prefix = NULL; if (cfg->prefix_fmt) - prefix = str_format_time(cfg->prefix_fmt); + prefix = str_format(input, cfg->prefix_fmt); if (prefix) filename_sanitize(prefix); else { @@ -194,7 +198,7 @@ int vout_snapshot_SaveImage(char **name, int *sequential, free(prefix); } else { /* The user specified a full path name (including file name) */ - filename = str_format_time(cfg->path); + filename = str_format(input, cfg->path); path_sanitize(filename); } @@ -204,12 +208,12 @@ int vout_snapshot_SaveImage(char **name, int *sequential, /* Save the snapshot */ FILE *file = vlc_fopen(filename, "wb"); if (!file) { - msg_Err(object, "Failed to open '%s'", filename); + msg_Err(p_vout, "Failed to open '%s'", filename); free(filename); goto error; } if (fwrite(image->p_buffer, image->i_buffer, 1, file) != 1) { - msg_Err(object, "Failed to write to '%s'", filename); + msg_Err(p_vout, "Failed to write to '%s'", filename); fclose(file); free(filename); goto error; @@ -225,7 +229,7 @@ int vout_snapshot_SaveImage(char **name, int *sequential, return VLC_SUCCESS; error: - msg_Err(object, "could not save snapshot"); + msg_Err(p_vout, "could not save snapshot"); return VLC_EGENERIC; } diff --git a/src/video_output/snapshot.h b/src/video_output/snapshot.h index ccdef2a..b81e3e7 100644 --- a/src/video_output/snapshot.h +++ b/src/video_output/snapshot.h @@ -77,7 +77,7 @@ typedef struct { */ int vout_snapshot_SaveImage(char **name, int *sequential, const block_t *image, - vlc_object_t *object, + vout_thread_t *p_vout, const vout_snapshot_save_cfg_t *cfg); #endif diff --git a/src/video_output/vout_intf.c b/src/video_output/vout_intf.c index 8ecd01f..20e262a 100644 --- a/src/video_output/vout_intf.c +++ b/src/video_output/vout_intf.c @@ -431,7 +431,7 @@ static void VoutSaveSnapshot( vout_thread_t *p_vout ) char *psz_filename; int i_sequence; if (vout_snapshot_SaveImage( &psz_filename, &i_sequence, - p_image, VLC_OBJECT(p_vout), &cfg ) ) + p_image, p_vout, &cfg ) ) goto exit; if( cfg.is_sequential ) var_SetInteger( p_vout, "snapshot-num", i_sequence + 1 ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
