Plagger::Plugin::Filter::FFmpeg #3

このエントリのコメント にて sumikawa さんより指摘があった点について修正しました。

というか、気づいてはいたのですが以下の理由から放置してました。

  1. 今のところ特に実害がない。
  2. Plagger::Util::mime_type_of (というか MIME::Types::mimeTypeOf ) が mp4 という拡張子は video/vnd.objectvideo と返す。m4v だと何も返さない。video/mp4 が一般的っぽいので、これは何か気持ち悪い。
  3. $Plagger::Util::mimetypes->addType で mp4 と m4v を追加してやればいいんだけど、本来なら Plagger::Util 内でやる方が良さそう。既にいくつか Plagger::Util 内で追加されてるので。でも、Filter::FFmpeg は野良プラグインなので、Plagger::Util をいじるべきではない。かといって、Filter::FFmpeg 内でやるのも、分散してしまって良くない。

とは言うものの、指摘があったものを放置しておくのもなんなので、3番目については妥協することにしました。

Index: plagger/trunk/lib/Plagger/Plugin/Filter/FFmpeg.pm
===================================================================
--- plagger/trunk/lib/Plagger/Plugin/Filter/FFmpeg.pm (revision 227)
+++ plagger/trunk/lib/Plagger/Plugin/Filter/FFmpeg.pm (revision 234)
@@ -3,7 +3,10 @@
 use strict;
 use base qw( Plagger::Plugin );
+use Plagger::Util;
 use Encode;
 use File::Spec;
 use FFmpeg::Command;
+
+$Plagger::Util::mimetypes->addType( MIME::Type->new(type => 'video/mp4', extensions => [ qw(mp4 m4v) ]) );
 
 sub register {
@@ -54,4 +57,5 @@
     $e->enclosure->local_path($output_file);
     $e->enclosure->filename("$file.$ext");
+    $e->enclosure->type( Plagger::Util::mime_type_of($ext) );
 }

trac のチェンジセットはこちら

追記
宮川さんが Changeset 1593 にて早速対応してくれました。はやっ。
というわけで、Filter::FFmpeg もそれに合わせて修正しました