[vlc-commits] Use str_format_meta for snapshots

Rafaël Carré git at videolan.org
Thu Jan 16 22:01:12 CET 2014


vlc | branch: master | Rafaël Carré <funman at videolan.org> | 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 );



More information about the vlc-commits mailing list