Support .ogv video files

This commit is contained in:
Philipp Wolfer
2014-06-13 19:17:51 +02:00
parent 0793d71e67
commit 4e89212940
2 changed files with 20 additions and 3 deletions

View File

@@ -180,6 +180,7 @@ from picard.formats.vorbis import (
OggSpeexFile,
OggVorbisFile,
OggAudioFile,
OggVideoFile,
OggOpusFile,
with_opus,
)
@@ -190,6 +191,7 @@ register_format(OggVorbisFile)
if with_opus:
register_format(OggOpusFile)
register_format(OggAudioFile)
register_format(OggVideoFile)
try:
from picard.formats.mp4 import MP4File

View File

@@ -290,9 +290,8 @@ class OggOpusFile(VCommentFile):
metadata['~format'] = self.NAME
def OggAudioFile(filename):
"""Generic Ogg audio file."""
options = [OggFLACFile, OggSpeexFile, OggVorbisFile]
def _select_ogg_type(filename, options):
"""Select the best matching Ogg file type."""
fileobj = file(filename, "rb")
results = []
try:
@@ -307,5 +306,21 @@ def OggAudioFile(filename):
raise mutagen.ogg.error("unknown Ogg audio format")
return results[-1][2](filename)
def OggAudioFile(filename):
"""Generic Ogg audio file."""
options = [OggFLACFile, OggSpeexFile, OggVorbisFile]
return _select_ogg_type(filename, options)
OggAudioFile.EXTENSIONS = [".oga"]
OggAudioFile.NAME = "Ogg Audio"
def OggVideoFile(filename):
"""Generic Ogg video file."""
options = [OggTheoraFile]
return _select_ogg_type(filename, options)
OggVideoFile.EXTENSIONS = [".ogv"]
OggVideoFile.NAME = "Ogg Video"