]> git.sesse.net Git - vlc/commitdiff
Use str_format_meta for snapshots
authorRafaël Carré <funman@videolan.org>
Thu, 16 Jan 2014 21:00:52 +0000 (22:00 +0100)
committerRafaël Carré <funman@videolan.org>
Thu, 16 Jan 2014 21:00:52 +0000 (22:00 +0100)
Fixes: #9938
src/video_output/snapshot.c
src/video_output/snapshot.h
src/video_output/vout_intf.c

index 05191019c0a9f20b871d044f87b08bcd98e2b3f6..c8096ef60930bbf20670c68bf19b77be9e936c9c 100644 (file)
@@ -26,6 +26,7 @@
 # include "config.h"
 #endif
 
+#include <assert.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/time.h>
 #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;
 }
 
index ccdef2af6c95cba606f312b2166b14beb5b111ad..b81e3e7ba8b547ebe48b215035fdf254e0887e5f 100644 (file)
@@ -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
index 8ecd01fc73a21d28e52e86bb3ad13cf0249b5b9e..20e262a405de7ca9cfd518c538335cd055ba96ab 100644 (file)
@@ -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 );