From e48a196c880d9f92804c6e1e3ea5631ae2017dd1 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 12 Oct 2008 19:48:39 +0000 Subject: enabled all input plugins git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@581 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 43 ++++++++++++++--------- 1 file changed, 26 insertions(+), 17 deletions(-) (limited to 'src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp') diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index 3598cebbc..41a968634 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -21,7 +21,9 @@ #include extern "C"{ -#if defined HAVE_FFMPEG_AVFORMAT_H +#if defined HAVE_FFMPEG_LIBAVFORMAT_AVFORMAT_H +#include +#elif defined HAVE_FFMPEG_AVFORMAT_H #include #elif defined HAVE_LIBAVFORMAT_AVFORMAT_H #include @@ -29,7 +31,9 @@ extern "C"{ #include #endif -#if defined HAVE_FFMPEG_AVCODEC_H +#if defined HAVE_FFMPEG_LIBAVCODEC_AVCODEC_H +#include +#elif defined HAVE_FFMPEG_AVCODEC_H #include #elif defined HAVE_LIBAVCODEC_AVCODEC_H #include @@ -65,36 +69,41 @@ const DecoderProperties DecoderFFmpegFactory::properties() const //properties.contentType = ""; properties.hasAbout = TRUE; properties.hasSettings = FALSE; + properties.noInput = TRUE; + properties.protocols = "file"; return properties; } Decoder *DecoderFFmpegFactory::create(QObject *parent, QIODevice *input, - Output *output) + Output *output, const QString &path) { - return new DecoderFFmpeg(parent, this, input, output); + Q_UNUSED(input); + return new DecoderFFmpeg(parent, this, output, path); } -FileTag *DecoderFFmpegFactory::createTag(const QString &source) +QList DecoderFFmpegFactory::createPlayList(const QString &fileName) { - FileTag *ftag = new FileTag(); + QList list; avcodec_init(); avcodec_register_all(); av_register_all(); AVFormatContext *in; - if (av_open_input_file(&in, source.toLocal8Bit(), NULL,0, NULL) < 0) - return ftag; + if (av_open_input_file(&in, fileName.toLocal8Bit(), NULL,0, NULL) < 0) + return list; + FileInfo *info = new FileInfo(fileName); av_find_stream_info(in); - ftag->setValue(FileTag::ALBUM, QString::fromUtf8(in->album).trimmed()); - ftag->setValue(FileTag::ARTIST, QString::fromUtf8(in->author).trimmed()); - ftag->setValue(FileTag::COMMENT, QString::fromUtf8(in->comment).trimmed()); - ftag->setValue(FileTag::GENRE, QString::fromUtf8(in->genre).trimmed()); - ftag->setValue(FileTag::TITLE, QString::fromUtf8(in->title).trimmed()); - ftag->setValue(FileTag::YEAR, in->year); - ftag->setValue(FileTag::TRACK, in->track); - ftag->setValue(FileTag::LENGTH ,int(in->duration/AV_TIME_BASE)); + info->setMetaData(Qmmp::ALBUM, QString::fromUtf8(in->album).trimmed()); + info->setMetaData(Qmmp::ARTIST, QString::fromUtf8(in->author).trimmed()); + info->setMetaData(Qmmp::COMMENT, QString::fromUtf8(in->comment).trimmed()); + info->setMetaData(Qmmp::GENRE, QString::fromUtf8(in->genre).trimmed()); + info->setMetaData(Qmmp::TITLE, QString::fromUtf8(in->title).trimmed()); + info->setMetaData(Qmmp::YEAR, in->year); + info->setMetaData(Qmmp::TRACK, in->track); + info->setLength(in->duration/AV_TIME_BASE); av_close_input_file(in); - return ftag; + list << info; + return list; } QObject* DecoderFFmpegFactory::showDetails(QWidget *parent, const QString &path) -- cgit v1.2.3-13-gbd6f