summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/media/ffmpeg.go16
1 files changed, 12 insertions, 4 deletions
diff --git a/internal/media/ffmpeg.go b/internal/media/ffmpeg.go
index ce90028af..41727b3d9 100644
--- a/internal/media/ffmpeg.go
+++ b/internal/media/ffmpeg.go
@@ -41,15 +41,23 @@ func ffmpegClearMetadata(ctx context.Context, filepath string, ext string) error
// Get directory from filepath.
dirpath := path.Dir(filepath)
- // Generate output file path with ext.
+ // Update filepath to add extension.
+ filepathExt := filepath + "." + ext
+
+ // First we need to rename filepath to have extension.
+ if err := os.Rename(filepath, filepathExt); err != nil {
+ return gtserror.Newf("error renaming to %s - >%s: %w", filepath, filepathExt, err)
+ }
+
+ // Generate cleaned output path with ext.
outpath := filepath + "_cleaned." + ext
// Clear metadata with ffmpeg.
if err := ffmpeg(ctx, dirpath,
"-loglevel", "error",
- // Input file.
- "-i", filepath,
+ // Input file path.
+ "-i", filepathExt,
// Drop all metadata.
"-map_metadata", "-1",
@@ -69,7 +77,7 @@ func ffmpegClearMetadata(ctx context.Context, filepath string, ext string) error
// Move the new output file path to original location.
if err := os.Rename(outpath, filepath); err != nil {
- return gtserror.Newf("error renaming %s: %w", outpath, err)
+ return gtserror.Newf("error renaming %s -> %s: %w", outpath, filepath, err)
}
return nil