From 0c94e17e709754e8213fd1d1b4bea2cfbdee44e3 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 29 Sep 2015 14:38:28 +0200 Subject: [PATCH] Fixed aspect ratios in MP4. --- src/input/input_mp4.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/input/input_mp4.cpp b/src/input/input_mp4.cpp index ff652ed1..ea87841d 100644 --- a/src/input/input_mp4.cpp +++ b/src/input/input_mp4.cpp @@ -374,8 +374,10 @@ namespace Mist { if (tmpType == "avc1" || tmpType == "h264" || tmpType == "mp4v"){ myMeta.tracks[trackNo].type = "video"; myMeta.tracks[trackNo].codec = "H264"; - myMeta.tracks[trackNo].width = ((MP4::VisualSampleEntry&)tmpBox).getWidth(); - myMeta.tracks[trackNo].height = ((MP4::VisualSampleEntry&)tmpBox).getHeight(); + if (!myMeta.tracks[trackNo].width){ + myMeta.tracks[trackNo].width = ((MP4::VisualSampleEntry&)tmpBox).getWidth(); + myMeta.tracks[trackNo].height = ((MP4::VisualSampleEntry&)tmpBox).getHeight(); + } MP4::Box tmpBox2 = tmpBox; MP4::Box tmpContent = ((MP4::VisualSampleEntry&)tmpBox2).getCLAP(); if (tmpContent.getType() == "avcC"){ @@ -388,8 +390,10 @@ namespace Mist { }else if (tmpType == "hev1"){ myMeta.tracks[trackNo].type = "video"; myMeta.tracks[trackNo].codec = "HEVC"; - myMeta.tracks[trackNo].width = ((MP4::VisualSampleEntry&)tmpBox).getWidth(); - myMeta.tracks[trackNo].height = ((MP4::VisualSampleEntry&)tmpBox).getHeight(); + if (!myMeta.tracks[trackNo].width){ + myMeta.tracks[trackNo].width = ((MP4::VisualSampleEntry&)tmpBox).getWidth(); + myMeta.tracks[trackNo].height = ((MP4::VisualSampleEntry&)tmpBox).getHeight(); + } MP4::Box tmpBox2 = ((MP4::VisualSampleEntry&)tmpBox).getCLAP(); myMeta.tracks[trackNo].init = std::string(tmpBox2.payload(),tmpBox2.payloadSize()); }else if (tmpType == "mp4a" || tmpType == "aac " || tmpType == "ac-3"){