Merge remote-tracking branch 'refs/remotes/tryggvib/532-exif-creation-date'
[mediagoblin.git] / mediagoblin / media_types / video / __init__.py
index a970ab016f56f7db55dbb8b0023e21dc2a37c55b..569cf11a3525b9529160c988636e72a3e2047adb 100644 (file)
@@ -1,5 +1,5 @@
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 MediaGoblin contributors.  See AUTHORS.
+# Copyright (C) 2011, 2012 MediaGoblin contributors.  See AUTHORS.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as published by
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-from mediagoblin.media_types.video.processing import process_video
+from mediagoblin.media_types import MediaManagerBase
+from mediagoblin.media_types.video.processing import process_video, \
+    sniff_handler
 
 
-MEDIA_MANAGER = {
-    "human_readable": "Video",
-    "processor": process_video, # alternately a string,
-                                # 'mediagoblin.media_types.image.processing'?
-    "display_template": "mediagoblin/media_displays/video.html",
-    "default_thumb": "images/media_thumbs/video.jpg",
-    "accepted_extensions": [
-        "mp4", "mov", "webm", "avi", "3gp", "3gpp", "mkv", "ogv", "ogg"]}
+class VideoMediaManager(MediaManagerBase):
+    human_readable = "Video"
+    processor = staticmethod(process_video)
+    sniff_handler = staticmethod(sniff_handler)
+    display_template = "mediagoblin/media_displays/video.html"
+    default_thumb = "images/media_thumbs/video.jpg"
+    accepted_extensions = [
+        "mp4", "mov", "webm", "avi", "3gp", "3gpp", "mkv", "ogv", "m4v"]
+        
+    # Used by the media_entry.get_display_media method
+    media_fetch_order = [u'webm_640', u'original']
+    default_webm_type = 'video/webm; codecs="vp8, vorbis"'
+
+
+MEDIA_MANAGER = VideoMediaManager