Finally I think that it's a small upstream bug.
Either in libavcodec 0.5.2
enum CodecType {
CODEC_TYPE_UNKNOWN = -1,
CODEC_TYPE_VIDEO,
CODEC_TYPE_AUDIO,
CODEC_TYPE_DATA,
CODEC_TYPE_SUBTITLE,
CODEC_TYPE_ATTACHMENT,
CODEC_TYPE_NB
};
or in 0.6
enum AVMediaType {
AVMEDIA_TYPE_UNKNOWN = -1,
AVMEDIA_TYPE_VIDEO,
AVMEDIA_TYPE_AUDIO,
AVMEDIA_TYPE_DATA,
AVMEDIA_TYPE_SUBTITLE,
AVMEDIA_TYPE_ATTACHMENT,
AVMEDIA_TYPE_NB
};
In order to pass the avcodec_open()'s test of codec_type,
data->codecctx should be manually set to CODEC_TYPE_UNKNOWN or
CODEC_TYPE_AUDIO
--- src/plugins/avcodec/avcodec.c 2010-07-10 21:10:42.045571002 +0800
+++ tmp/avcodec.c 2010-07-10 21:15:58.981589650 +0800
@@ -219,6 +219,7 @@
data->codecctx->block_align = data->block_align;
data->codecctx->extradata = data->extradata;
data->codecctx->extradata_size = data->extradata_size;
+ data->codecctx->codec_type = CODEC_TYPE_AUDIO;
if (avcodec_open (data->codecctx, codec) < 0) {
XMMS_DBG ("Opening decoder '%s' failed", codec->name);
After rebuild avcodec plugin normal .tta plays.
But tta segment in .cue does not play right in my box, it plays a few
seconds then stop, then it plays the next file...... Should I open a
new bug report?
21:32:55 INFO: ../src/xmms/xform.c:1476: Successfully setup chain for
'file:///tmp/another.tta?startms=0&stopms=202000' (1410) containing
file:magic:tta:avcodec:segment
21:32:55 INFO: ../src/xmms/xform.c:1476: Successfully setup chain for
'file:///tmp/another.tta?startms=204000&stopms=436000' (1411)
containing file:magic:tta:avcodec:segment
21:32:56 INFO: ../src/xmms/xform.c:1476: Successfully setup chain for
'file:///tmp/another.tta?startms=439000&stopms=641000' (1412)
containing file:magic:tta:avcodec:segment
21:32:57 INFO: ../src/xmms/xform.c:1476: Successfully setup chain for
'file:///tmp/another.tta?startms=644000' (1413) containing
file:magic:tta:avcodec:segment
--
_______________________________________________
Xmms2-devel mailing list
[email protected]
http://lists.xmms.se/cgi-bin/mailman/listinfo/xmms2-devel