aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-10-12 19:48:39 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-10-12 19:48:39 +0000
commite48a196c880d9f92804c6e1e3ea5631ae2017dd1 (patch)
tree6767f170f669cdfaea23e469050c05ad1f6c67ca /src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
parent0a74e1c0e3781afe041ba9acc361461cc3ebda82 (diff)
downloadqmmp-e48a196c880d9f92804c6e1e3ea5631ae2017dd1.tar.gz
qmmp-e48a196c880d9f92804c6e1e3ea5631ae2017dd1.tar.bz2
qmmp-e48a196c880d9f92804c6e1e3ea5631ae2017dd1.zip
enabled all input plugins
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@581 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp')
-rw-r--r--src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp43
1 files changed, 26 insertions, 17 deletions
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 <QtGui>
extern "C"{
-#if defined HAVE_FFMPEG_AVFORMAT_H
+#if defined HAVE_FFMPEG_LIBAVFORMAT_AVFORMAT_H
+#include <ffmpeg/libavformat/avformat.h>
+#elif defined HAVE_FFMPEG_AVFORMAT_H
#include <ffmpeg/avformat.h>
#elif defined HAVE_LIBAVFORMAT_AVFORMAT_H
#include <libavformat/avformat.h>
@@ -29,7 +31,9 @@ extern "C"{
#include <avformat.h>
#endif
-#if defined HAVE_FFMPEG_AVCODEC_H
+#if defined HAVE_FFMPEG_LIBAVCODEC_AVCODEC_H
+#include <ffmpeg/libavcodec/avcodec.h>
+#elif defined HAVE_FFMPEG_AVCODEC_H
#include <ffmpeg/avcodec.h>
#elif defined HAVE_LIBAVCODEC_AVCODEC_H
#include <libavcodec/avcodec.h>
@@ -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<FileInfo *> DecoderFFmpegFactory::createPlayList(const QString &fileName)
{
- FileTag *ftag = new FileTag();
+ QList <FileInfo*> 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)