summaryrefslogtreecommitdiff
path: root/ffmpeg_opt.c
diff options
context:
space:
mode:
Diffstat (limited to 'ffmpeg_opt.c')
-rw-r--r--ffmpeg_opt.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index fc885dfac3..ffe1abdb38 100644
--- a/ffmpeg_opt.c
+++ b/ffmpeg_opt.c
@@ -2549,8 +2549,6 @@ loop_end:
av_dict_copy(&output_streams[i]->st->metadata, ist->st->metadata, AV_DICT_DONT_OVERWRITE);
if (!output_streams[i]->stream_copy) {
av_dict_set(&output_streams[i]->st->metadata, "encoder", NULL, 0);
- if (ist->autorotate)
- av_dict_set(&output_streams[i]->st->metadata, "rotate", NULL, 0);
}
}
@@ -2640,9 +2638,15 @@ loop_end:
for (j = 0; j < oc->nb_streams; j++) {
ost = output_streams[nb_output_streams - oc->nb_streams + j];
if ((ret = check_stream_specifier(oc, oc->streams[j], stream_spec)) > 0) {
- av_dict_set(&oc->streams[j]->metadata, o->metadata[i].u.str, *val ? val : NULL, 0);
if (!strcmp(o->metadata[i].u.str, "rotate")) {
- ost->rotate_overridden = 1;
+ char *tail;
+ double theta = av_strtod(val, &tail);
+ if (!*tail) {
+ ost->rotate_overridden = 1;
+ ost->rotate_override_value = theta;
+ }
+ } else {
+ av_dict_set(&oc->streams[j]->metadata, o->metadata[i].u.str, *val ? val : NULL, 0);
}
} else if (ret < 0)
exit_program(1);