Author: dmeyer
Date: Fri Dec 15 16:12:40 2006
New Revision: 2237
Added:
trunk/metadata/src/disc/audio.py
- copied, changed from r2236, /trunk/metadata/src/disc/audioinfo.py
trunk/metadata/src/disc/core.py
- copied, changed from r2233, /trunk/metadata/src/disc/discinfo.py
trunk/metadata/src/disc/data.py
- copied, changed from r2233, /trunk/metadata/src/disc/datainfo.py
trunk/metadata/src/disc/dvd.py
- copied, changed from r2233, /trunk/metadata/src/disc/dvdinfo.py
trunk/metadata/src/disc/vcd.py
- copied, changed from r2233, /trunk/metadata/src/disc/vcdinfo.py
trunk/metadata/src/misc/directory.py
- copied, changed from r2233, /trunk/metadata/src/misc/dirinfo.py
trunk/metadata/src/misc/xml.py
- copied, changed from r2233, /trunk/metadata/src/misc/xmlinfo.py
trunk/metadata/src/video/asf.py
- copied, changed from r2233, /trunk/metadata/src/video/asfinfo.py
trunk/metadata/src/video/core.py
trunk/metadata/src/video/flv.py
- copied, changed from r2233, /trunk/metadata/src/video/flvinfo.py
trunk/metadata/src/video/mkv.py
- copied, changed from r2233, /trunk/metadata/src/video/mkvinfo.py
trunk/metadata/src/video/mov.py
- copied, changed from r2233, /trunk/metadata/src/video/movinfo.py
trunk/metadata/src/video/mpeg.py
- copied, changed from r2233, /trunk/metadata/src/video/mpeginfo.py
trunk/metadata/src/video/ogm.py
- copied, changed from r2233, /trunk/metadata/src/video/ogminfo.py
trunk/metadata/src/video/real.py
- copied, changed from r2233, /trunk/metadata/src/video/realinfo.py
trunk/metadata/src/video/riff.py
- copied, changed from r2233, /trunk/metadata/src/video/riffinfo.py
trunk/metadata/src/video/vcd.py
- copied, changed from r2233, /trunk/metadata/src/video/vcdinfo.py
Removed:
trunk/metadata/src/disc/audioinfo.py
trunk/metadata/src/disc/datainfo.py
trunk/metadata/src/disc/discinfo.py
trunk/metadata/src/disc/dvdinfo.py
trunk/metadata/src/disc/vcdinfo.py
trunk/metadata/src/misc/dirinfo.py
trunk/metadata/src/misc/xmlinfo.py
trunk/metadata/src/video/asfinfo.py
trunk/metadata/src/video/flvinfo.py
trunk/metadata/src/video/mkvinfo.py
trunk/metadata/src/video/movinfo.py
trunk/metadata/src/video/mpeginfo.py
trunk/metadata/src/video/ogminfo.py
trunk/metadata/src/video/realinfo.py
trunk/metadata/src/video/riffinfo.py
trunk/metadata/src/video/vcdinfo.py
Modified:
trunk/metadata/src/disc/DiscID.py
trunk/metadata/src/factory.py
Log:
update the last *info files
Modified: trunk/metadata/src/disc/DiscID.py
==============================================================================
--- trunk/metadata/src/disc/DiscID.py (original)
+++ trunk/metadata/src/disc/DiscID.py Fri Dec 15 16:12:40 2006
@@ -23,37 +23,6 @@
return ret
-def open(device=None, flags=None):
- # Allow this function to be called with no arguments,
- # specifying that we should call cdrom.open() with
- # no arguments.
- if device == None:
- return cdrom.open()
- elif flags == None:
- return cdrom.open(device)
- else:
- return cdrom.open(device, flags)
-
-def disc_id(device):
- (first, last) = cdrom.toc_header(device)
-
- track_frames = []
- checksum = 0
-
- for i in range(first, last + 1):
- (min, sec, frame) = cdrom.toc_entry(device, i)
- checksum = checksum + cddb_sum(min*60 + sec)
- track_frames.append(min*60*75 + sec*75 + frame)
-
- (min, sec, frame) = cdrom.leadout(device)
- track_frames.append(min*60*75 + sec*75 + frame)
-
- total_time = (track_frames[-1] / 75) - (track_frames[0] / 75)
-
- discid = ((checksum % 0xff) << 24 | total_time << 8 | last)
-
- return [discid, last] + track_frames[:-1] + [ track_frames[-1] / 75 ]
-
if __name__ == '__main__':
dev_name = None
Copied: trunk/metadata/src/disc/audio.py (from r2236,
/trunk/metadata/src/disc/audioinfo.py)
==============================================================================
--- /trunk/metadata/src/disc/audioinfo.py (original)
+++ trunk/metadata/src/disc/audio.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# audioinfo.py - support for audio cds
+# audio.py - support for audio cds
# -----------------------------------------------------------------------------
# $Id$
#
@@ -33,27 +33,25 @@
import cdrom
import logging
-# kaa imports
+# kaa.metadata imports
import kaa.metadata
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
-from kaa.audio.core import Music as MusicInfo
+from kaa.metadata.audio.core import Music as AudioTrack
-# disc imports
-import discinfo
+# kaa.metadata.disc imports
+import core
import DiscID
import CDDB
# get logging object
log = logging.getLogger('metadata')
-class AudioDiscInfo(discinfo.DiscInfo):
+class AudioDisc(core.Disc):
def __init__(self,device):
- discinfo.DiscInfo.__init__(self)
+ core.Disc.__init__(self)
self.offset = 0
# check disc
- if discinfo.DiscInfo.isDisc(self, device) != 1:
- raise mediainfo.KaaMetadataParseError()
+ if self.is_disc(self, device) != 1:
+ raise core.ParseError()
self.query(device)
self.mime = 'audio/cd'
@@ -105,7 +103,7 @@
if read_stat == 210:
for i in range(0, disc_id[1]):
- mi = MusicInfo()
+ mi = AudioTrack()
mi.title = read_info['TTITLE' + `i`]
mi.album = self.title
mi.artist = self.artist
@@ -130,7 +128,7 @@
log.error("failure getting disc info, status %i" % query_stat)
self.no_caching = 1
for i in range(0, disc_id[1]):
- mi = MusicInfo()
+ mi = AudioTrack()
mi.title = 'Track %s' % (i+1)
mi.codec = 'PCM'
mi.samplerate = 44.1
@@ -175,4 +173,4 @@
cdromfd.close()
-factory.register( 'audio/cd', mediainfo.EXTENSION_DEVICE, AudioDiscInfo )
+core.register( 'audio/cd', core.EXTENSION_DEVICE, AudioDisc )
Copied: trunk/metadata/src/disc/core.py (from r2233,
/trunk/metadata/src/disc/discinfo.py)
==============================================================================
--- /trunk/metadata/src/disc/discinfo.py (original)
+++ trunk/metadata/src/disc/core.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# discinfo.py - basic class for any discs containing collections of media.
+# core.py - basic class for any discs containing collections of media.
# -----------------------------------------------------------------------------
# $Id$
#
@@ -41,6 +41,10 @@
# kaa imports
from kaa.metadata import mediainfo
+from kaa.metadata.factory import register
+
+EXTENSION_DEVICE = mediainfo.EXTENSION_DEVICE
+VideoTrack = mediainfo.VideoInfo
# get logging object
log = logging.getLogger('metadata')
@@ -208,12 +212,12 @@
return disc_type, id
-class DiscInfo(mediainfo.CollectionInfo):
+class Disc(mediainfo.CollectionInfo):
_keys = mediainfo.CollectionInfo._keys + [ 'mixed', 'label' ]
media = mediainfo.MEDIA_DISC
- def isDisc(self, device):
+ def is_disc(self, device):
(type, self.id) = cdrom_disc_id(device, handle_mix=1)
if type != 2:
if type == 4:
Copied: trunk/metadata/src/disc/data.py (from r2233,
/trunk/metadata/src/disc/datainfo.py)
==============================================================================
--- /trunk/metadata/src/disc/datainfo.py (original)
+++ trunk/metadata/src/disc/data.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# datainfo.py - info about a normal data disc
+# data.py - info about a normal data disc
# -----------------------------------------------------------------------------
# $Id$
#
@@ -29,20 +29,18 @@
#
# -----------------------------------------------------------------------------
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
-from discinfo import DiscInfo
+# kaa.metadata.disc imports
+import core
-class DataDiscInfo(DiscInfo):
+class DataDisc(core.Disc):
def __init__(self,device):
- DiscInfo.__init__(self)
- if DiscInfo.isDisc(self, device) != 2:
- raise mediainfo.KaaMetadataParseError()
+ core.Disc.__init__(self)
+ if self.is_disc(self, device) != 2:
+ raise core.ParseError()
self.offset = 0
self.mime = 'unknown/unknown'
self.type = 'CD'
self.subtype = 'data'
-factory.register( 'cd/unknown', mediainfo.EXTENSION_DEVICE, DataDiscInfo )
+core.register( 'cd/unknown', core.EXTENSION_DEVICE, DataDisc )
Copied: trunk/metadata/src/disc/dvd.py (from r2233,
/trunk/metadata/src/disc/dvdinfo.py)
==============================================================================
--- /trunk/metadata/src/disc/dvdinfo.py (original)
+++ trunk/metadata/src/disc/dvd.py Fri Dec 15 16:12:40 2006
@@ -35,11 +35,12 @@
import os
import logging
-# kaa imports
-import ifoparser
+# kaa.metadata imports
from kaa.metadata import mediainfo
-from kaa.metadata import factory
-from discinfo import DiscInfo
+
+# kaa.metadata.disc imports
+import core
+import ifoparser
# get logging object
log = logging.getLogger('metadata')
@@ -60,7 +61,8 @@
self.width = _video_width[data[4]]
self.height = _video_height[data[5]]
self.codec = 'MP2V'
-
+
+
class DVDAudio(mediainfo.AudioInfo):
_keys = mediainfo.AudioInfo._keys + [ 'id' ]
@@ -101,12 +103,12 @@
self.subtitles.append(mediainfo.SubtitleInfo(s))
-class DVDInfo(DiscInfo):
+class DVDInfo(core.Disc):
- _keys = DiscInfo._keys + [ 'length' ]
+ _keys = core.Disc._keys + [ 'length' ]
def __init__(self, device):
- DiscInfo.__init__(self)
+ core.Disc.__init__(self)
self.offset = 0
if isinstance(device, file):
@@ -136,7 +138,7 @@
def _parse(self, device):
info = ifoparser.parse(device)
if not info:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
for pos, title in enumerate(info):
ti = DVDTitle(title)
ti.trackno = pos + 1
@@ -148,15 +150,15 @@
if not (os.path.isdir(dirname+'/VIDEO_TS') or \
os.path.isdir(dirname+'/video_ts') or \
os.path.isdir(dirname+'/Video_ts')):
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# OK, try libdvdread
self._parse(dirname)
return 1
def parseDisc(self, device):
- if DiscInfo.isDisc(self, device) != 2:
- raise mediainfo.KaaMetadataParseError()
+ if self.is_disc(self, device) != 2:
+ raise core.ParseError()
# brute force reading of the device to find out if it is a DVD
f = open(device,'rb')
@@ -165,7 +167,7 @@
if buffer.find('UDF') == -1:
f.close()
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# seems to be a DVD, read a little bit more
buffer += f.read(550000)
@@ -174,7 +176,7 @@
if buffer.find('VIDEO_TS') == -1 and \
buffer.find('VIDEO_TS.IFO') == -1 and \
buffer.find('OSTA UDF Compliant') == -1:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# OK, try libdvdread
self._parse(device)
@@ -186,7 +188,7 @@
buffer = f.read(60000)
if buffer.find('UDF') == -1:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# seems to be a DVD, read a little bit more
buffer += f.read(550000)
@@ -194,14 +196,12 @@
if buffer.find('VIDEO_TS') == -1 and \
buffer.find('VIDEO_TS.IFO') == -1 and \
buffer.find('OSTA UDF Compliant') == -1:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# OK, try libdvdread
self._parse(f.name)
-factory.register( 'video/dvd', mediainfo.EXTENSION_DEVICE, DVDInfo )
-
-factory.register('video/dvd', mediainfo.EXTENSION_DIRECTORY, DVDInfo)
-
-factory.register('video/dvd', ['iso'], DVDInfo)
+core.register( 'video/dvd', mediainfo.EXTENSION_DEVICE, DVDInfo )
+core.register('video/dvd', mediainfo.EXTENSION_DIRECTORY, DVDInfo)
+core.register('video/dvd', ['iso'], DVDInfo)
Copied: trunk/metadata/src/disc/vcd.py (from r2233,
/trunk/metadata/src/disc/vcdinfo.py)
==============================================================================
--- /trunk/metadata/src/disc/vcdinfo.py (original)
+++ trunk/metadata/src/disc/vcd.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# vcdinfo.py - parse vcd track informations
+# vcd.py - parse vcd track informations
# -----------------------------------------------------------------------------
# $Id$
#
@@ -29,15 +29,13 @@
#
# -----------------------------------------------------------------------------
-# kaa imports
-from kaa.metadata import factory
-from kaa.metadata import mediainfo
-from discinfo import DiscInfo
+# kaa.metadata.disc imports
+import core
import cdrom
-class VCDInfo(DiscInfo):
+class VCD(core.Disc):
def __init__(self,device):
- DiscInfo.__init__(self)
+ core.Disc.__init__(self)
self.offset = 0
self.mime = 'video/vcd'
self.type = 'CD'
@@ -48,8 +46,8 @@
def parseDisc(self, device):
type = None
- if DiscInfo.isDisc(self, device) != 2:
- raise mediainfo.KaaMetadataParseError()
+ if self.is_disc(self, device) != 2:
+ raise core.ParseError()
# brute force reading of the device to find out if it is a VCD
f = open(device,'rb')
@@ -65,7 +63,7 @@
type = 'VCD'
else:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# read the tracks to generate the title list
device = open(device)
@@ -81,7 +79,7 @@
else:
min, sec, frames = cdrom.toc_entry(device, i)
if num:
- vi = mediainfo.VideoInfo()
+ vi = core.VideoTrack()
# XXX add more static information here, it's also possible
# XXX to scan for more informations like fps
# XXX Settings to MPEG1/2 is a wild guess, maybe the track
@@ -97,4 +95,4 @@
device.close()
-factory.register( 'video/vcd', mediainfo.EXTENSION_DEVICE, VCDInfo )
+core.register( 'video/vcd', core.EXTENSION_DEVICE, VCD )
Modified: trunk/metadata/src/factory.py
==============================================================================
--- trunk/metadata/src/factory.py (original)
+++ trunk/metadata/src/factory.py Fri Dec 15 16:12:40 2006
@@ -117,41 +117,39 @@
import audio.ac3
import audio.pcm
import audio.adts
- import video.riffinfo
- import video.mpeginfo
- import video.asfinfo
- import video.movinfo
- import video.flvinfo
+ import video.riff
+ import video.mpeg
+ import video.asf
+ import video.mov
+ import video.flv
import image.jpg
import image.png
import image.tiff
import image.bmp
import image.gif
- import video.vcdinfo
- import video.realinfo
- import video.ogminfo
- import video.mkvinfo
- import misc.xmlinfo
+ import video.vcd
+ import video.real
+ import video.ogm
+ import video.mkv
+ import misc.xml
# import some disc modules (may fail)
try:
- import disc.discinfo
- import disc.vcdinfo
- import disc.audioinfo
+ import disc.vcd
+ import disc.audio
except ImportError, e:
# looks like cdrom.so was not created
if log.level < 30:
log.error(e)
try:
- import disc.dvdinfo
+ import disc.dvd
except ImportError, e:
if log.level < 30:
log.error(e)
- # use fallback disc module
try:
- import disc.datainfo
+ import disc.data
except ImportError, e:
if log.level < 30:
log.error(e)
@@ -163,7 +161,7 @@
import games.gameboy
import games.snes
- import misc.dirinfo
+ import misc.directory
def create_from_file(self, file, force=True):
Copied: trunk/metadata/src/misc/directory.py (from r2233,
/trunk/metadata/src/misc/dirinfo.py)
==============================================================================
--- /trunk/metadata/src/misc/dirinfo.py (original)
+++ trunk/metadata/src/misc/directory.py Fri Dec 15 16:12:40 2006
@@ -1,11 +1,9 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# dvdinfo.py - parse dvd title structure
+# directory.py - parse directory information
# -----------------------------------------------------------------------------
# $Id$
#
-# TODO: update the ifomodule and remove the lsdvd parser
-#
# -----------------------------------------------------------------------------
# kaa-Metadata - Media Metadata for Python
# Copyright (C) 2003-2006 Thomas Schueppel, Dirk Meyer
@@ -39,22 +37,23 @@
# kaa imports
from kaa.strutils import unicode_to_str
from kaa import xml
-from kaa.metadata.mediainfo import MediaInfo, MEDIACORE, \
- EXTENSION_DIRECTORY, MEDIA_DIRECTORY
+
+# kaa.metadata imports
+import kaa.metadata.mediainfo as core
from kaa.metadata.factory import register
# get logging object
log = logging.getLogger('metadata')
-class DirInfo(MediaInfo):
+class Directory(core.MediaInfo):
"""
Simple parser for reading a .directory file.
"""
- media = MEDIA_DIRECTORY
-
+ media = core.MEDIA_DIRECTORY
+
def __init__(self, directory):
- MediaInfo.__init__(self)
+ core.MediaInfo.__init__(self)
for func in (self.parse_dot_directory, self.parse_bins):
try:
func(directory)
@@ -107,4 +106,4 @@
self._set(key, child.content)
# register to kaa.metadata core
-register('directory', EXTENSION_DIRECTORY, DirInfo)
+register('directory', core.EXTENSION_DIRECTORY, Directory)
Copied: trunk/metadata/src/misc/xml.py (from r2233,
/trunk/metadata/src/misc/xmlinfo.py)
==============================================================================
--- /trunk/metadata/src/misc/xmlinfo.py (original)
+++ trunk/metadata/src/misc/xml.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# xmlinfo.py - detect xml and fxd files
+# xml.py - detect xml and fxd files
# -----------------------------------------------------------------------------
# $Id$
#
@@ -34,9 +34,9 @@
import logging
import libxml2
-# kaa imports
-from kaa.metadata import factory
-from kaa.metadata import mediainfo
+# kaa.metadata imports
+import kaa.metadata.mediainfo as core
+import kaa.metadata.factory as factory
# get logging object
log = logging.getLogger('metadata')
@@ -46,14 +46,14 @@
'freevo': 'Freevo XML Definition'
}
-class XMLInfo(mediainfo.MediaInfo):
+class XML(core.MediaInfo):
def __init__(self,file):
ext = os.path.splitext(file.name)[1].lower()
if not ext in ('.xml', '.fxd', '.html', '.htm'):
- raise mediainfo.KaaMetadataParseError()
+ raise core.KaaMetadataParseError()
- mediainfo.MediaInfo.__init__(self)
+ core.MediaInfo.__init__(self)
self.mime = 'text/xml'
self.type = ''
@@ -72,10 +72,10 @@
try:
doc = ctxt.doc()
except libxml2.parserError:
- raise mediainfo.KaaMetadataParseError()
+ raise core.KaaMetadataParseError()
if not doc or not doc.children or not doc.children.name:
- raise mediainfo.KaaMetadataParseError()
+ raise core.KaaMetadataParseError()
tag = doc.children.name
if tag in XML_TAG_INFO:
@@ -85,4 +85,4 @@
doc.freeDoc()
-factory.register( 'text/xml', ('xml', 'fxd', 'html', 'htm'), XMLInfo )
+factory.register( 'text/xml', ('xml', 'fxd', 'html', 'htm'), XML )
Copied: trunk/metadata/src/video/asf.py (from r2233,
/trunk/metadata/src/video/asfinfo.py)
==============================================================================
--- /trunk/metadata/src/video/asfinfo.py (original)
+++ trunk/metadata/src/video/asf.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# asfinfo.py - asf file parser
+# asf.py - asf file parser
# -----------------------------------------------------------------------------
# $Id$
#
@@ -38,9 +38,8 @@
import string
import logging
-# kaa imports
-from kaa.metadata import factory
-from kaa.metadata import mediainfo
+# import kaa.metadata.video core
+import core
# get logging object
log = logging.getLogger('metadata')
@@ -139,24 +138,24 @@
}
-class AsfInfo(mediainfo.AVInfo):
+class Asf(core.AVContainer):
def __init__(self, file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
self.mime = 'video/x-ms-asf'
self.type = 'asf format'
h = file.read(30)
if len(h) < 30:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
(guidstr, objsize, objnum, reserved1, \
reserved2) = struct.unpack('<16sQIBB',h)
guid = self._parseguid(guidstr)
if (guid != GUIDS['ASF_Header_Object']):
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
if reserved1 != 0x01 or reserved2 != 0x02:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
log.debug("asf header size: %d / %d objects" % (objsize,objnum))
header = file.read(objsize-30)
@@ -261,14 +260,14 @@
if encrypted:
self._set('encrypted', True)
if streamtype == GUIDS['ASF_Video_Media']:
- vi = mediainfo.VideoInfo()
+ vi = core.VideoStream()
vi.width, vi.height, depth, \
codec, = struct.unpack('<4xII2xH4s', s[89:89+20])
vi.codec = codec
vi.id = strno
self.video.append(vi)
elif streamtype == GUIDS['ASF_Audio_Media']:
- ai = mediainfo.AudioInfo()
+ ai = core.AudioStream()
twocc, ai.channels, ai.samplerate, bitrate, block, \
ai.samplebits, = struct.unpack('<HHIIHH', s[78:78+16])
ai.bitrate = 8*bitrate # XXX Is this right?
@@ -376,4 +375,4 @@
-factory.register( 'video/asf', ('asf','wmv','wma'), AsfInfo)
+core.register( 'video/asf', ('asf','wmv','wma'), Asf)
Added: trunk/metadata/src/video/core.py
==============================================================================
--- (empty file)
+++ trunk/metadata/src/video/core.py Fri Dec 15 16:12:40 2006
@@ -0,0 +1,46 @@
+# -*- coding: iso-8859-1 -*-
+# -----------------------------------------------------------------------------
+# core.py - basic video class
+# -----------------------------------------------------------------------------
+# $Id: core.py 2216 2006-12-10 20:32:21Z dmeyer $
+#
+# -----------------------------------------------------------------------------
+# kaa-Metadata - Media Metadata for Python
+# Copyright (C) 2003-2006 Thomas Schueppel, Dirk Meyer
+#
+# First Edition: Thomas Schueppel <[EMAIL PROTECTED]>
+# Maintainer: Dirk Meyer <[EMAIL PROTECTED]>
+#
+# Please see the file AUTHORS for a complete list of authors.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MER-
+# CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# -----------------------------------------------------------------------------
+
+from kaa.metadata import mediainfo
+from kaa.metadata.factory import register
+
+ParseError = mediainfo.KaaMetadataParseError
+
+# TODO: copy stuff to this file
+
+VideoStream = mediainfo.VideoInfo
+AudioStream = mediainfo.AudioInfo
+AVContainer = mediainfo.AVInfo
+MEDIA_AUDIO = mediainfo.MEDIA_AUDIO
+MEDIA_AV = mediainfo.MEDIA_AV
+Subtitle = mediainfo.SubtitleInfo
+Chapter = mediainfo.ChapterInfo
+Collection = mediainfo.CollectionInfo
Copied: trunk/metadata/src/video/flv.py (from r2233,
/trunk/metadata/src/video/flvinfo.py)
==============================================================================
--- /trunk/metadata/src/video/flvinfo.py (original)
+++ trunk/metadata/src/video/flv.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# flvinfo.py - parser for flash video files
+# flv.py - parser for flash video files
# -----------------------------------------------------------------------------
# $Id$
#
@@ -34,9 +34,8 @@
import string
import logging
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.video core
+import core
# get logging object
log = logging.getLogger('metadata')
@@ -59,14 +58,14 @@
FLV_VIDEO_CODECID = ( 'FLV1', 'MSS1', 'VP60') # wild guess
-class FlashInfo(mediainfo.AVInfo):
+class FlashVideo(core.AVContainer):
def __init__(self,file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
self.mime = 'video/flv'
self.type = 'Flash Video'
header = struct.unpack('>3sBBII', file.read(13))
if not header[0] == 'FLV':
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
for i in range(10):
if self.audio and self.video:
@@ -80,7 +79,7 @@
if chunk[0] == FLV_TAG_TYPE_AUDIO:
flags = ord(file.read(1))
if not self.audio:
- a = mediainfo.AudioInfo()
+ a = core.AudioStream()
a.channels = (flags & FLV_AUDIO_CHANNEL_MASK) + 1
srate = (flags & FLV_AUDIO_SAMPLERATE_MASK)
a.samplerate = (44100 << (srate >>
FLV_AUDIO_SAMPLERATE_OFFSET) >> 3)
@@ -94,7 +93,7 @@
elif chunk[0] == FLV_TAG_TYPE_VIDEO:
flags = ord(file.read(1))
if not self.video:
- v = mediainfo.VideoInfo()
+ v = core.VideoStream()
codec = (flags & FLV_VIDEO_CODECID_MASK) - 2
if codec < len(FLV_VIDEO_CODECID):
v.codec = FLV_VIDEO_CODECID[codec]
@@ -115,4 +114,4 @@
file.seek(4, 1)
-factory.register( 'video/flv', ('flv',), FlashInfo )
+core.register( 'video/flv', ('flv',), FlashVideo )
Copied: trunk/metadata/src/video/mkv.py (from r2233,
/trunk/metadata/src/video/mkvinfo.py)
==============================================================================
--- /trunk/metadata/src/video/mkvinfo.py (original)
+++ trunk/metadata/src/video/mkv.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# mkvinfo.py - Matroska Streaming Video Files
+# mkv.py - Matroska Streaming Video Files
# -----------------------------------------------------------------------------
# $Id$
#
@@ -39,9 +39,8 @@
from string import *
import logging
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.video core
+import core
# get logging object
log = logging.getLogger('metadata')
@@ -148,7 +147,7 @@
if self.id_len == 0:
log.debug("EBML entity not found, bad file format")
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
self.entity_len, self.len_size = self.compute_len(inbuf[self.id_len:])
self.entity_data = inbuf[self.get_header_len() : self.get_total_len()]
@@ -261,14 +260,14 @@
-class MkvInfo(mediainfo.AVInfo):
+class Matroska(core.AVContainer):
"""
This is the main Matroska object
"""
- media = mediainfo.MEDIA_AUDIO
-
+ media = core.MEDIA_AUDIO
+
def __init__(self, file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
self.samplerate = 1
self.file = file
@@ -276,12 +275,12 @@
buffer = file.read(2000)
if len(buffer) == 0:
# Regular File end
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# Check the Matroska header
header = EbmlEntity(buffer)
if header.get_id() != MATROSKA_HEADER_ID:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
log.debug("HEADER ID found %08X" % header.get_id() )
self.mime = 'application/mkv'
@@ -334,7 +333,7 @@
elif elem_id == MATROSKA_SEEKHEAD_ID:
self.process_seekhead(elem)
-
+
log.debug('END: process element %s' % hex(elem_id))
return True
@@ -380,7 +379,7 @@
def process_track(self, track):
- # Collapse generator into a list since we need to iterate over it
+ # Collapse generator into a list since we need to iterate over it
# twice.
elements = [ x for x in self.process_one_level(track) ]
track_type = [ x.get_value() for x in elements if x.get_id() ==
MATROSKA_TRACK_TYPE_ID ]
@@ -399,7 +398,7 @@
track = self.process_audio_track(elements)
elif track_type == MATROSKA_SUBTITLES_TRACK:
log.debug("Subtitle track found")
- track = mediainfo.SubtitleInfo()
+ track = core.Subtitle()
self.subtitles.append(track)
for elem in elements:
self.process_track_common(elem, track)
@@ -418,7 +417,7 @@
def process_video_track(self, elements):
- track = mediainfo.VideoInfo()
+ track = core.VideoStream()
codec_private_id = ''
# Defaults
track.codec = u'Unknown'
@@ -472,13 +471,13 @@
# FIXME: add more video codecs here
track.codec = track.codec[2:]
- self.media = mediainfo.MEDIA_AV
+ self.media = core.MEDIA_AV
self.video.append(track)
return track
def process_audio_track(self, elements):
- track = mediainfo.AudioInfo()
+ track = core.AudioStream()
track.codec = u'Unknown'
for elem in elements:
@@ -520,7 +519,7 @@
def process_chapter_atom(self, atom):
elements = self.process_one_level(atom)
- chap = mediainfo.ChapterInfo()
+ chap = core.Chapter()
for elem in elements:
elem_id = elem.get_id()
@@ -574,4 +573,4 @@
log.debug('Attachment "%s" found' % name)
-factory.register( 'application/mkv', ('mkv', 'mka',), MkvInfo )
+core.register( 'application/mkv', ('mkv', 'mka',), Matroska )
Copied: trunk/metadata/src/video/mov.py (from r2233,
/trunk/metadata/src/video/movinfo.py)
==============================================================================
--- /trunk/metadata/src/video/movinfo.py (original)
+++ trunk/metadata/src/video/mov.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# movinfo.py - mov file parser
+# mov.py - mov file parser
# -----------------------------------------------------------------------------
# $Id$
#
@@ -39,9 +39,10 @@
import StringIO
from struct import unpack
-# kaa imports
-from kaa.metadata import factory
-from kaa.metadata import mediainfo
+# import kaa.metadata.video core
+import core
+
+# mov language codes
from movlanguages import *
# get logging object
@@ -59,12 +60,12 @@
'cpy': 'copyright'
}
-class MovInfo(mediainfo.AVInfo):
+class MPEG4(core.AVContainer):
table_mapping = { 'QTUDTA': QTUDTA }
def __init__(self,file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
self._references = []
self.mime = 'video/quicktime'
@@ -93,7 +94,7 @@
if not type in ('moov', 'wide', 'free'):
log.debug('invalid header: %s' % type)
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# Extended size
if size == 1:
@@ -164,7 +165,7 @@
trackinfo['width'] = tkhd[10] >> 16
trackinfo['height'] = tkhd[11] >> 16
trackinfo['id'] = tkhd[3]
-
+
try:
# XXX Date number of Seconds is since January 1st 1904!
# XXX 2082844800 is the difference between Unix and
@@ -252,10 +253,10 @@
info = None
if tracktype == 'video':
- info = mediainfo.VideoInfo()
+ info = core.VideoStream()
self.video.append(info)
if tracktype == 'audio':
- info = mediainfo.AudioInfo()
+ info = core.AudioStream()
self.audio.append(info)
if info:
for key, value in trackinfo.items():
@@ -360,4 +361,4 @@
exts = ('mov', 'qt', 'mp4', 'mp4a', '3gp', '3gp2', 'mk2')
-factory.register( 'video/quicktime', exts, MovInfo)
+core.register( 'video/quicktime', exts, MPEG4)
Copied: trunk/metadata/src/video/mpeg.py (from r2233,
/trunk/metadata/src/video/mpeginfo.py)
==============================================================================
--- /trunk/metadata/src/video/mpeginfo.py (original)
+++ trunk/metadata/src/video/mpeg.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# mpginfo.py - mpeg 1/2 file parser
+# mpeg.py - mpeg 1/2 file parser
# -----------------------------------------------------------------------------
# $Id$
#
@@ -37,9 +37,8 @@
import logging
import stat
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.video core
+import core
# get logging object
log = logging.getLogger('metadata')
@@ -134,12 +133,12 @@
)
-class MpegInfo(mediainfo.AVInfo):
+class MPEG(core.AVContainer):
def __init__(self,file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
self.sequence_header_offset = 0
self.mpeg_version = 2
-
+
# detect TS (fast scan)
if not self.isTS(file):
# detect system mpeg (many infos)
@@ -147,11 +146,11 @@
# detect PES
if not self.isPES(file):
# no mpeg at all
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
self.mime = 'video/mpeg'
if not self.video:
- self.video.append(mediainfo.VideoInfo())
+ self.video.append(core.VideoStream())
if self.sequence_header_offset <= 0:
return
@@ -376,7 +375,7 @@
if a.id == id:
break
else:
- self.audio.append(mediainfo.AudioInfo())
+ self.audio.append(core.AudioStream())
self.audio[-1]._set('id', id)
return 0
@@ -386,7 +385,7 @@
if v.id == id:
break
else:
- self.video.append(mediainfo.VideoInfo())
+ self.video.append(core.VideoStream())
self.video[-1]._set('id', id)
return 0
@@ -406,7 +405,7 @@
if a.id == id:
break
else:
- self.audio.append(mediainfo.AudioInfo())
+ self.audio.append(core.AudioStream())
self.audio[-1]._set('id', id)
self.audio[-1].codec = 0x2000 # AC3
return 0
@@ -520,7 +519,7 @@
if a.id == id:
break
else:
- self.audio.append(mediainfo.AudioInfo())
+ self.audio.append(core.AudioStream())
self.audio[-1]._set('id', id)
elif ord(buffer[3]) & 0xF0 == 0xE0:
@@ -529,7 +528,7 @@
if v.id == id:
break
else:
- self.video.append(mediainfo.VideoInfo())
+ self.video.append(core.VideoStream())
self.video[-1]._set('id', id)
# new mpeg starting
@@ -547,7 +546,7 @@
if a.id == id:
break
else:
- self.audio.append(mediainfo.AudioInfo())
+ self.audio.append(core.AudioStream())
self.audio[-1]._set('id', id)
self.audio[-1].codec = 0x2000 # AC3
@@ -859,4 +858,4 @@
log.debug('done scanning file')
-factory.register( 'video/mpeg', ('mpeg','mpg','mp4', 'ts'), MpegInfo )
+core.register( 'video/mpeg', ('mpeg','mpg','mp4', 'ts'), MPEG )
Copied: trunk/metadata/src/video/ogm.py (from r2233,
/trunk/metadata/src/video/ogminfo.py)
==============================================================================
--- /trunk/metadata/src/video/ogminfo.py (original)
+++ trunk/metadata/src/video/ogm.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# ogminfo.py - ogm/ogg file parser
+# ogm.py - ogm/ogg file parser
# -----------------------------------------------------------------------------
# $Id$
#
@@ -36,9 +36,8 @@
import os
import logging
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.video core
+import core
# get logging object
log = logging.getLogger('metadata')
@@ -67,12 +66,12 @@
MAXITERATIONS = 10
-class OgmInfo(mediainfo.AVInfo):
+class Ogm(core.AVContainer):
table_mapping = { 'VORBISCOMMENT' : VORBISCOMMENT }
def __init__(self, file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
self.samplerate = 1
self.all_streams = [] # used to add meta data to streams
self.all_header = []
@@ -82,7 +81,7 @@
if granule == None:
if i == 0:
# oops, bad file
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
break
elif granule > 0:
# ok, file started
@@ -146,7 +145,7 @@
pos = int(new_pos)
c = self.all_header[i][s + 'NAME']
- c = mediainfo.ChapterInfo(c, pos)
+ c = core.Chapter(c, pos)
del self.all_header[i][s + 'NAME']
del self.all_header[i][s]
self.chapters.append(c)
@@ -159,9 +158,9 @@
# If there are no video streams in this ogg container, it
# must be an audio file. Raise an exception to cause the
- # factory to fall back to audio.ogginfo.
+ # factory to fall back to audio.ogg.
if len(self.video) == 0:
- raise mediainfo.KaaMetadataParseError
+ raise core.ParseError
# Copy Metadata from tables into the main set of attributes
for header in self.all_header:
@@ -178,7 +177,7 @@
return None, None
if h[:4] != "OggS":
log.debug("Invalid Ogg")
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
version = ord(h[4])
if version != 0:
@@ -243,7 +242,7 @@
flags = ord(header[0])
if headerlen >= 30 and header[1:7] == 'vorbis':
- ai = mediainfo.AudioInfo()
+ ai = core.AudioStream()
ai.version, ai.channels, ai.samplerate, bitrate_max, ai.bitrate, \
bitrate_min, blocksize, framing = \
struct.unpack('<IBIiiiBB',header[7:7+23])
@@ -256,7 +255,7 @@
elif headerlen >= 7 and header[1:7] == 'theora':
# Theora Header
# XXX Finish Me
- vi = mediainfo.VideoInfo()
+ vi = core.VideoStream()
vi.codec = 'theora'
self.video.append(vi)
self.all_streams.append(vi)
@@ -265,7 +264,7 @@
header[1:36] == 'Direct Show Samples embedded in Ogg':
# Old Directshow format
# XXX Finish Me
- vi = mediainfo.VideoInfo()
+ vi = core.VideoStream()
vi.codec = 'dshow'
self.video.append(vi)
self.all_streams.append(vi)
@@ -278,7 +277,7 @@
if htype[:5] == 'video':
sh = header[9:struct.calcsize(STREAM_HEADER_VIDEO)+9]
streamheader = struct.unpack( STREAM_HEADER_VIDEO, sh )
- vi = mediainfo.VideoInfo()
+ vi = core.VideoStream()
(type, ssize, timeunit, samplerate, vi.length, buffersize, \
vi.bitrate, vi.width, vi.height) = streamheader
@@ -293,7 +292,7 @@
elif htype[:5] == 'audio':
sha = header[9:struct.calcsize(STREAM_HEADER_AUDIO)+9]
streamheader = struct.unpack( STREAM_HEADER_AUDIO, sha )
- ai = mediainfo.AudioInfo()
+ ai = core.AudioStream()
(type, ssize, timeunit, ai.samplerate, ai.length, buffersize, \
ai.bitrate, ai.channels, bloc, ai.bitrate) = streamheader
self.samplerate = ai.samplerate
@@ -302,10 +301,8 @@
self.all_streams.append(ai)
elif htype[:4] == 'text':
- subtitle = mediainfo.MediaInfo()
- subtitle._set('language', None)
- subtitle.type = 'subtitle'
- subtitle.length = 0
+ subtitle = core.Subtitle()
+ # FIXME: add more info
self.all_streams.append(subtitle)
else:
@@ -321,4 +318,4 @@
-factory.register( 'application/ogg', ('ogm', 'ogg',), OgmInfo )
+core.register( 'application/ogg', ('ogm', 'ogg',), Ogm )
Copied: trunk/metadata/src/video/real.py (from r2233,
/trunk/metadata/src/video/realinfo.py)
==============================================================================
--- /trunk/metadata/src/video/realinfo.py (original)
+++ trunk/metadata/src/video/real.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# realinfo.py - parser for real media files
+# real.py - parser for real media files
# -----------------------------------------------------------------------------
# $Id$
#
@@ -34,9 +34,8 @@
import string
import logging
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.video core
+import core
# http://www.pcisys.net/~melanson/codecs/rmff.htm
# http://www.pcisys.net/~melanson/codecs/
@@ -44,15 +43,15 @@
# get logging object
log = logging.getLogger('metadata')
-class RealInfo(mediainfo.AVInfo):
+class RealVideo(core.AVContainer):
def __init__(self,file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
self.mime = 'video/real'
self.type = 'Real Video'
h = file.read(10)
(object_id,object_size,object_version) = struct.unpack('>4sIH',h)
if not object_id == '.RMF':
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
file_version, num_headers = struct.unpack('>II', file.read(8))
log.debug("size: %d, ver: %d, headers: %d" % \
@@ -83,12 +82,12 @@
type_specific = s[pos+4:pos+4+type_specific_len]
pos += 4+type_specific_len
if mime[:5] == 'audio':
- ai = mediainfo.AudioInfo()
+ ai = core.AudioStream()
ai.id = mdpr[0]
ai.bitrate = mdpr[2]
self.audio.append(ai)
elif mime[:5] == 'video':
- vi = mediainfo.VideoInfo()
+ vi = core.VideoStream()
vi.id = mdpr[0]
vi.bitrate = mdpr[2]
self.video.append(vi)
@@ -109,4 +108,4 @@
self.comment = s[pos+2:pos+comment_len+2]
-factory.register( 'video/real', ('rm', 'ra', 'ram'), RealInfo )
+core.register( 'video/real', ('rm', 'ra', 'ram'), RealVideo )
Copied: trunk/metadata/src/video/riff.py (from r2233,
/trunk/metadata/src/video/riffinfo.py)
==============================================================================
--- /trunk/metadata/src/video/riffinfo.py (original)
+++ trunk/metadata/src/video/riff.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# riffinfo.py - riff (avi) file parser
+# riff.py - riff (avi) file parser
# -----------------------------------------------------------------------------
# $Id$
#
@@ -37,9 +37,8 @@
import logging
import time
-# kaa imports
-from kaa.metadata import factory
-from kaa.metadata import mediainfo
+# import kaa.metadata.video core
+import core
# get logging object
log = logging.getLogger('metadata')
@@ -76,16 +75,16 @@
}
-class RiffInfo(mediainfo.AVInfo):
+class Riff(core.AVContainer):
table_mapping = { 'AVIINFO' : AVIINFO }
def __init__(self,file):
- mediainfo.AVInfo.__init__(self)
+ core.AVContainer.__init__(self)
# read the header
h = file.read(12)
if h[:4] != "RIFF" and h[:4] != 'SDSS':
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
self.mime = 'application/x-wave'
self.has_idx = False
@@ -121,7 +120,7 @@
if file.readline().find('VobSub index file') > 0:
for line in file.readlines():
if line.find('id') == 0:
- sub = mediainfo.SubtitleInfo()
+ sub = core.Subtitle()
sub.language = line[4:6]
sub.trackno = base + '.idx' # Maybe not?
self.subtitles.append(sub)
@@ -147,7 +146,7 @@
retval['dwLength'] ) = v
if retval['dwMicroSecPerFrame'] == 0:
log.warning("ERROR: Corrupt AVI")
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
return retval
@@ -205,7 +204,7 @@
retval['nBlockAlign'],
retval['nBitsPerSample'],
) = struct.unpack('<HHHHHH',t[0:12])
- ai = mediainfo.AudioInfo()
+ ai = core.AudioStream()
ai.samplerate = retval['nSamplesPerSec']
ai.channels = retval['nChannels']
ai.samplebits = retval['nBitsPerSample']
@@ -229,7 +228,7 @@
retval['biYPelsPerMeter'],
retval['biClrUsed'],
retval['biClrImportant'], ) = v
- vi = mediainfo.VideoInfo()
+ vi = core.VideoStream()
vi.codec = t[16:20]
vi.width = retval['biWidth']
vi.height = retval['biHeight']
@@ -550,4 +549,4 @@
return False
return True
-factory.register( 'video/avi', ('avi',), RiffInfo )
+core.register( 'video/avi', ('avi',), Riff )
Copied: trunk/metadata/src/video/vcd.py (from r2233,
/trunk/metadata/src/video/vcdinfo.py)
==============================================================================
--- /trunk/metadata/src/video/vcdinfo.py (original)
+++ trunk/metadata/src/video/vcd.py Fri Dec 15 16:12:40 2006
@@ -1,6 +1,6 @@
# -*- coding: iso-8859-1 -*-
# -----------------------------------------------------------------------------
-# vcdinfo.py - parse vcd track informations from cue/bin files
+# vcd.py - parse vcd track informations from cue/bin files
# -----------------------------------------------------------------------------
# $Id$
#
@@ -32,13 +32,12 @@
# python imports
import os
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.video core
+import core
-class VCDInfo(mediainfo.CollectionInfo):
+class VCDFile(core.Collection):
def __init__(self, file):
- mediainfo.CollectionInfo.__init__(self)
+ core.Collection.__init__(self)
self.offset = 0
self.mime = 'video/vcd'
self.type = 'vcd video'
@@ -51,12 +50,12 @@
buffer = file.readline(300)
if not buffer[:6] == 'FILE "':
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
bin = os.path.join(os.path.dirname(file.name),
buffer[6:buffer[6:].find('"')+6])
if not os.path.isfile(bin):
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
# At this point this really is a cue/bin disc
@@ -74,7 +73,7 @@
type = 'VCD'
else:
- raise mediainfo.KaaMetadataParseError()
+ raise core.ParseError()
counter = 0
while 1:
@@ -85,7 +84,7 @@
counter += 1
# the first track is the directory, that doesn't count
if counter > 1:
- vi = mediainfo.VideoInfo()
+ vi = core.VideoStream()
if type == 'VCD':
vi.codec = 'MPEG1'
else:
@@ -93,4 +92,4 @@
self.tracks.append(vi)
-factory.register( 'video/vcd', ('cue',), VCDInfo )
+core.register( 'video/vcd', ('cue',), VCDFile )
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog