diff --git a/tubesync/sync/models.py b/tubesync/sync/models.py index 338f731..16415c7 100644 --- a/tubesync/sync/models.py +++ b/tubesync/sync/models.py @@ -1140,7 +1140,22 @@ class Media(models.Model): def content_type(self): if not self.downloaded: return 'video/mp4' - vcodec = self.downloaded_video_codec.lower() + vcodec = self.downloaded_video_codec + if vcodec is None: + acodec = self.downloaded_audio_codec + if acodec is None: + raise TypeError() # nothing here. + + acodec = acodec.lower() + if acodec == "mp4a": + return "audio/mp4" + elif acodec == "opus": + return "audio/opus" + else: + # fall-fall-back. + return 'audio/ogg' + + vcodec = vcodec.lower() if vcodec == 'vp9': return 'video/webm' else: