From e231bb9701639b20dd917865040b727af9b0b77e Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 23 Sep 2009 12:40:02 +0000 Subject: ported ffmpeg plugin (Closes issue 170) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1254 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/ffmpeg/CMakeLists.txt | 4 +- src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp | 8 +- src/plugins/Input/ffmpeg/decoder_ffmpeg.h | 8 +- src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 13 ++- src/plugins/Input/ffmpeg/decoderffmpegfactory.h | 7 +- src/plugins/Input/ffmpeg/detailsdialog.cpp | 98 ---------------------- src/plugins/Input/ffmpeg/detailsdialog.h | 42 ---------- src/plugins/Input/ffmpeg/ffmpeg.pro | 10 +-- src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp | 76 +++++++++++++++++ src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h | 49 +++++++++++ .../Input/ffmpeg/translations/ffmpeg_plugin_cs.ts | 50 +++++------ .../Input/ffmpeg/translations/ffmpeg_plugin_de.ts | 50 +++++------ .../Input/ffmpeg/translations/ffmpeg_plugin_it.ts | 42 +++++----- .../Input/ffmpeg/translations/ffmpeg_plugin_lt.ts | 46 +++++----- .../Input/ffmpeg/translations/ffmpeg_plugin_pl.ts | 52 ++++++------ .../Input/ffmpeg/translations/ffmpeg_plugin_ru.ts | 46 +++++----- .../Input/ffmpeg/translations/ffmpeg_plugin_tr.ts | 42 +++++----- .../ffmpeg/translations/ffmpeg_plugin_uk_UA.ts | 56 ++++++------- .../ffmpeg/translations/ffmpeg_plugin_zh_CN.ts | 46 +++++----- .../ffmpeg/translations/ffmpeg_plugin_zh_TW.ts | 46 +++++----- 20 files changed, 385 insertions(+), 406 deletions(-) delete mode 100644 src/plugins/Input/ffmpeg/detailsdialog.cpp delete mode 100644 src/plugins/Input/ffmpeg/detailsdialog.h create mode 100644 src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp create mode 100644 src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h (limited to 'src/plugins/Input/ffmpeg') diff --git a/src/plugins/Input/ffmpeg/CMakeLists.txt b/src/plugins/Input/ffmpeg/CMakeLists.txt index 1cf4f1ae9..523b3d2f9 100644 --- a/src/plugins/Input/ffmpeg/CMakeLists.txt +++ b/src/plugins/Input/ffmpeg/CMakeLists.txt @@ -69,14 +69,14 @@ ADD_DEFINITIONS(${LIBAVFORMAT_CFLAGS}) SET(libffmpeg_SRCS decoder_ffmpeg.cpp decoderffmpegfactory.cpp - detailsdialog.cpp + ffmpegmetadatamodel.cpp settingsdialog.cpp ) SET(libffmpeg_MOC_HDRS decoderffmpegfactory.h decoder_ffmpeg.h - detailsdialog.h + ffmpegmetadatamodel.h settingsdialog.h ) diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp index 25321e920..370a2cc02 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp @@ -29,8 +29,8 @@ // Decoder class -DecoderFFmpeg::DecoderFFmpeg(QObject *parent, DecoderFactory *d, Output *o, const QString &path) - : Decoder(parent, d, o) +DecoderFFmpeg::DecoderFFmpeg(const QString &path) + : Decoder() { m_bitrate = 0; m_skip = FALSE; @@ -111,7 +111,7 @@ int DecoderFFmpeg::bitrate() return m_bitrate; } -qint64 DecoderFFmpeg::readAudio(char *audio, qint64 maxSize) +qint64 DecoderFFmpeg::read(char *audio, qint64 maxSize) { if (m_skip) { @@ -153,7 +153,7 @@ qint64 DecoderFFmpeg::ffmpeg_decode(char *audio, qint64 maxSize) return out_size; } -void DecoderFFmpeg::seekAudio(qint64 pos) +void DecoderFFmpeg::seek(qint64 pos) { int64_t timestamp = int64_t(pos)*AV_TIME_BASE/1000; if (ic->start_time != (qint64)AV_NOPTS_VALUE) diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.h b/src/plugins/Input/ffmpeg/decoder_ffmpeg.h index db10a21b6..7c294837d 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.h +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.h @@ -45,17 +45,17 @@ extern "C"{ class DecoderFFmpeg : public Decoder { public: - DecoderFFmpeg(QObject *, DecoderFactory *, Output *, const QString &); + DecoderFFmpeg(const QString &); virtual ~DecoderFFmpeg(); // Standard Decoder API bool initialize(); qint64 totalTime(); int bitrate(); + qint64 read(char *audio, qint64 maxSize); + void seek(qint64 time); -private: - qint64 readAudio(char *audio, qint64 maxSize); - void seekAudio(qint64 time); +private: //helper functions void fillBuffer(); qint64 ffmpeg_decode(char *audio, qint64 maxSize); diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index f8ddb4733..77d556108 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -41,7 +41,7 @@ extern "C" #endif } -#include "detailsdialog.h" +#include "ffmpegmetadatamodel.h" #include "settingsdialog.h" #include "decoder_ffmpeg.h" #include "decoderffmpegfactory.h" @@ -92,11 +92,10 @@ const DecoderProperties DecoderFFmpegFactory::properties() const return properties; } -Decoder *DecoderFFmpegFactory::create(QObject *parent, QIODevice *input, - Output *output, const QString &path) +Decoder *DecoderFFmpegFactory::create(const QString &path, QIODevice *input) { Q_UNUSED(input); - return new DecoderFFmpeg(parent, this, output, path); + return new DecoderFFmpeg(path); } QList DecoderFFmpegFactory::createPlayList(const QString &fileName, bool useMetaData) @@ -131,11 +130,9 @@ QList DecoderFFmpegFactory::createPlayList(const QString &fileName, return list; } -QObject* DecoderFFmpegFactory::showDetails(QWidget *parent, const QString &path) +MetaDataModel* DecoderFFmpegFactory::createMetaDataModel(const QString &path, QObject *parent) { - DetailsDialog *d = new DetailsDialog(parent, path); - d -> show(); - return d; + return new FFmpegMetaDataModel(path,parent); } void DecoderFFmpegFactory::showSettings(QWidget *parent) diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.h b/src/plugins/Input/ffmpeg/decoderffmpegfactory.h index 0ee85a8b9..7865ae600 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.h +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.h @@ -30,9 +30,6 @@ #include #include - - - class DecoderFFmpegFactory : public QObject, DecoderFactory { @@ -43,9 +40,9 @@ public: bool supports(const QString &source) const; bool canDecode(QIODevice *input) const; const DecoderProperties properties() const; - Decoder *create(QObject *, QIODevice *, Output *, const QString &); + Decoder *create(const QString &, QIODevice *); QList createPlayList(const QString &fileName, bool useMetaData); - QObject* showDetails(QWidget *parent, const QString &path); + MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); void showSettings(QWidget *parent); void showAbout(QWidget *parent); QTranslator *createTranslator(QObject *parent); diff --git a/src/plugins/Input/ffmpeg/detailsdialog.cpp b/src/plugins/Input/ffmpeg/detailsdialog.cpp deleted file mode 100644 index 45265ca0a..000000000 --- a/src/plugins/Input/ffmpeg/detailsdialog.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -extern "C"{ -#if defined HAVE_FFMPEG_AVFORMAT_H -#include -#elif defined HAVE_LIBAVFORMAT_AVFORMAT_H -#include -#else -#include -#endif - -#if defined HAVE_FFMPEG_AVCODEC_H -#include -#elif defined HAVE_LIBAVCODEC_AVCODEC_H -#include -#else -#include -#endif -} - -#include -#include - -#include "detailsdialog.h" - -DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) - : AbstractDetailsDialog(parent) -{ - m_path = path; - if (QFile::exists(m_path)) - loadInfo(); - hideSaveButton(); -} - -DetailsDialog::~DetailsDialog() -{} - -void DetailsDialog::loadInfo() -{ - AVFormatContext *in; - avcodec_init(); - avcodec_register_all(); - av_register_all(); - if (av_open_input_file(&in, m_path.toLocal8Bit(), NULL,0, NULL) < 0) - return; - av_find_stream_info(in); - av_read_play(in); - - //tags - setMetaData(Qmmp::TITLE, QString::fromUtf8(in->title).trimmed()); - setMetaData(Qmmp::ARTIST, QString::fromUtf8(in->author).trimmed()); - setMetaData(Qmmp::ALBUM, QString::fromUtf8(in->album).trimmed()); - setMetaData(Qmmp::COMMENT, QString::fromUtf8(in->comment).trimmed()); - setMetaData(Qmmp::GENRE, QString::fromUtf8(in->genre).trimmed()); - setMetaData(Qmmp::URL, m_path); - setMetaData(Qmmp::YEAR, in->year); - setMetaData(Qmmp::TRACK, in->track); - - //audio properties - QMap ap; - QString text = QString("%1").arg(int(in->duration/AV_TIME_BASE)/60); - text +=":"+QString("%1").arg(int(in->duration/AV_TIME_BASE)%60,2,10,QChar('0')); - ap.insert(tr("Length"), text); - ap.insert(tr("File size"), QString("%1 ").arg(in->file_size/1024)+" "+tr("KB")); - ap.insert(tr("Bitrate"), QString("%1 "+tr("kbps")).arg(in->bit_rate/1000)); - - AVCodecContext *c = 0; - uint wma_idx; - for (wma_idx = 0; wma_idx < in->nb_streams; wma_idx++) - { - c = in->streams[wma_idx]->codec; - if (c->codec_type == CODEC_TYPE_AUDIO) break; - } - if (c) - { - ap.insert(tr("Samplerate"), QString("%1 " + tr("Hz")).arg(c->sample_rate)); - ap.insert(tr("Channels"), QString("%1").arg(c->channels)); - } - av_close_input_file(in); - setAudioProperties(ap); -} diff --git a/src/plugins/Input/ffmpeg/detailsdialog.h b/src/plugins/Input/ffmpeg/detailsdialog.h deleted file mode 100644 index 1c21004c2..000000000 --- a/src/plugins/Input/ffmpeg/detailsdialog.h +++ /dev/null @@ -1,42 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#ifndef DETAILSDIALOG_H -#define DETAILSDIALOG_H - -#include - -/** - @author Ilya Kotov -*/ -class DetailsDialog : public AbstractDetailsDialog -{ -Q_OBJECT -public: - DetailsDialog(QWidget *parent = 0, const QString &path = 0); - - ~DetailsDialog(); - -private: - void loadInfo(); - QString m_path; - -}; - -#endif diff --git a/src/plugins/Input/ffmpeg/ffmpeg.pro b/src/plugins/Input/ffmpeg/ffmpeg.pro index d20fd3f42..760d2d141 100644 --- a/src/plugins/Input/ffmpeg/ffmpeg.pro +++ b/src/plugins/Input/ffmpeg/ffmpeg.pro @@ -1,13 +1,13 @@ include(../../plugins.pri) FORMS += settingsdialog.ui HEADERS += decoderffmpegfactory.h \ - detailsdialog.h \ decoder_ffmpeg.h \ - settingsdialog.h -SOURCES += detailsdialog.cpp \ - decoder_ffmpeg.cpp \ + settingsdialog.h \ + ffmpegmetadatamodel.h +SOURCES += decoder_ffmpeg.cpp \ decoderffmpegfactory.cpp \ - settingsdialog.cpp + settingsdialog.cpp \ + ffmpegmetadatamodel.cpp QMAKE_CLEAN = ../libffmpeg.so TARGET = $$PLUGINS_PREFIX/Input/ffmpeg QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libffmpeg.so diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp new file mode 100644 index 000000000..4705602d8 --- /dev/null +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp @@ -0,0 +1,76 @@ +/*************************************************************************** + * Copyright (C) 2009 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + + +extern "C" +{ +#if defined HAVE_FFMPEG_AVCODEC_H +#include +#elif defined HAVE_LIBAVCODEC_AVCODEC_H +#include +#else +#include +#endif +} +#include "ffmpegmetadatamodel.h" + +FFmpegMetaDataModel::FFmpegMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent) +{ + m_in = 0; + avcodec_init(); + avcodec_register_all(); + av_register_all(); + if (av_open_input_file(&m_in, path.toLocal8Bit(), NULL,0, NULL) < 0) + return; + av_find_stream_info(m_in); + av_read_play(m_in); +} + +FFmpegMetaDataModel::~FFmpegMetaDataModel() +{ + if(m_in) + av_close_input_file(m_in); +} + +QHash FFmpegMetaDataModel::audioProperties() +{ + QHash ap; + if(!m_in) + return ap; + QString text = QString("%1").arg(int(m_in->duration/AV_TIME_BASE)/60); + text +=":"+QString("%1").arg(int(m_in->duration/AV_TIME_BASE)%60,2,10,QChar('0')); + ap.insert(tr("Length"), text); + ap.insert(tr("File size"), QString("%1 ").arg(m_in->file_size/1024)+" "+tr("KB")); + ap.insert(tr("Bitrate"), QString("%1 "+tr("kbps")).arg(m_in->bit_rate/1000)); + + AVCodecContext *c = 0; + uint wma_idx; + for (wma_idx = 0; wma_idx < m_in->nb_streams; wma_idx++) + { + c = m_in->streams[wma_idx]->codec; + if (c->codec_type == CODEC_TYPE_AUDIO) break; + } + if (c) + { + ap.insert(tr("Samplerate"), QString("%1 " + tr("Hz")).arg(c->sample_rate)); + ap.insert(tr("Channels"), QString("%1").arg(c->channels)); + } + return ap; +} diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h new file mode 100644 index 000000000..992d1aa32 --- /dev/null +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h @@ -0,0 +1,49 @@ +/*************************************************************************** + * Copyright (C) 2009 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef FFMPEGMETADATAMODEL_H +#define FFMPEGMETADATAMODEL_H + +extern "C" +{ +#if defined HAVE_FFMPEG_AVFORMAT_H +#include +#elif defined HAVE_LIBAVFORMAT_AVFORMAT_H +#include +#else +#include +#endif +} + +#include + +class FFmpegMetaDataModel : public MetaDataModel +{ +Q_OBJECT +public: + FFmpegMetaDataModel(const QString &path, QObject *parent); + ~FFmpegMetaDataModel(); + QHash audioProperties(); + +private: + AVFormatContext *m_in; +}; + +#endif // FFMPEGMETADATAMODEL_H diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_cs.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_cs.ts index 8a936e2ed..ca7c74671 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_cs.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_cs.ts @@ -4,17 +4,17 @@ DecoderFFmpegFactory - + About FFmpeg Audio Plugin O modulu FFmpeg - + Qmmp FFmpeg Audio Plugin Vstupní modul Qmmp FFmpeg - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilja Kotov <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ Formáty FFmpeg - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 Přeloženo s libavformat-%1.%2.%3 a libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length - Délka + Délka - + File size - Velikost souboru + Velikost souboru - - kbps - kbps + + KB + KB - + Bitrate - Datový tok + Datový tok - - Hz - Hz + + kbps + kbps - + Samplerate - Vzorkovací frekvence + Vzorkovací frekvence - - Channels - Počet kanálů + + Hz + Hz - - KB - KB + + Channels + Počet kanálů diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_de.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_de.ts index d60558c0a..25e03011c 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_de.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_de.ts @@ -4,17 +4,17 @@ DecoderFFmpegFactory - + About FFmpeg Audio Plugin Über FFmpeg-Audio-Modul - + Qmmp FFmpeg Audio Plugin Qmmp FFmpeg-Audio-Modul - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilya Kotov <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ FFmpeg-Formate - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 Kompiliert gegen libavformat-%1.%2.%3 und libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length - Länge + Länge - + File size - Dateigröße + Dateigröße - - kbps - kbps + + KB + KB - + Bitrate - Bitrate + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - Abtastrate + Abtastrate - - Channels - Kanäle + + Hz + Hz - - KB - KB + + Channels + Kanäle diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_it.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_it.ts index 206de6229..5088c4853 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_it.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_it.ts @@ -4,17 +4,17 @@ DecoderFFmpegFactory - + About FFmpeg Audio Plugin Info sul modulo audi FFmpeg - + Qmmp FFmpeg Audio Plugin Modulo audio FFmpeg per Qmmp - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autore: Ilya Kotov <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ Formati FFmpeg - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 Compilato con libavformat-%1.%2.%3 e libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length - + File size - - kbps - kbps + + KB + KB - + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - Channels - + + Hz + Hz - - KB - KB + + Channels + diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_lt.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_lt.ts index f767d1cbf..ea8d7dd77 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_lt.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_lt.ts @@ -4,17 +4,17 @@ DecoderFFmpegFactory - + About FFmpeg Audio Plugin Apie FFmpeg įskiepį - + Qmmp FFmpeg Audio Plugin FFmpeg Qmmp audio įskiepis - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Sukūrė: Ilya Kotov <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ FFmpeg bylų tipai - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 Surinkta iš libavformat-%1.%2.%3 ir libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length - - KB - КB - - - + File size - + + KB + КB + + + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - Channels - + + Hz + Hz - - kbps - kbps + + Channels + diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_pl.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_pl.ts index 2f26e786e..ab7a47b89 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_pl.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_pl.ts @@ -14,67 +14,67 @@ Formaty FFmpeg - + About FFmpeg Audio Plugin O wtyczce FFmpeg Audio - + Qmmp FFmpeg Audio Plugin Wtyczka FFmpeg Audio dla Qmmp - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 Skompilowane przy użyciu libavformat-%1.%2.%3 i libavcodec-%4.%5.%6 - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilja Kotov <forkotov02@hotmail.ru> - DetailsDialog + FFmpegMetaDataModel - + Length - Długość + Długość - - KB - - - - + File size - Wielkość pliku + Wielkość pliku - - kbps - + + KB + - + Bitrate - Szybkość transmisji + Szybkość transmisji - - Hz - + + kbps + - + Samplerate - Próbkowanie + Próbkowanie + + + + Hz + - + Channels - Kanały + Kanały diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_ru.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_ru.ts index 7434cdf86..a9708c9d0 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_ru.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_ru.ts @@ -4,17 +4,17 @@ DecoderFFmpegFactory - + About FFmpeg Audio Plugin Об аудио-модуле FFmpeg - + Qmmp FFmpeg Audio Plugin Аудио-модуль FFmpeg для Qmmp - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Разработчик: Илья Котов <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ Форматы FFmpeg - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 Собрано с libavformat-%1.%2.%3 и libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length Длительность - - KB - КБ - - - + File size Размер файла - + + KB + КБ + + + Bitrate Битовая частота - - Hz - Гц + + kbps + Кб/с - + Samplerate Дискретизация - - Channels - Каналов + + Hz + Гц - - kbps - Кб/с + + Channels + Каналов diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_tr.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_tr.ts index 6b4f60929..44e1b40c1 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_tr.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_tr.ts @@ -14,65 +14,65 @@ FFmpeg Biçimleri - + About FFmpeg Audio Plugin FFmpeg Ses Eklentisi Hakkında - + Qmmp FFmpeg Audio Plugin Qmmp FFmpeg Ses Eklentisi - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 libavformat-%1.%2.%3 ve libavcodec-%4.%5.%6 ile derlenmiştir - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Yazan: Ilya Kotov <forkotov02@hotmail.ru> - DetailsDialog + FFmpegMetaDataModel - + Length - - KB - KB - - - + File size - - kbps - kbps + + KB + KB - + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - + + Hz + Hz + + + Channels diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_uk_UA.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_uk_UA.ts index 49e0ddf2b..d411895fa 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_uk_UA.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_uk_UA.ts @@ -1,20 +1,20 @@ - - + + DecoderFFmpegFactory - + About FFmpeg Audio Plugin Про аудіо-модуль FFmpeg - + Qmmp FFmpeg Audio Plugin Аудіо-модуль FFmpeg для Qmmp - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Розробник: Ілля Котов <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ Формати FFmpeg - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 Зібрано з libavformat-%1.%2.%3 та libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length - Тривалість + Тривалість - - KB - Кб + + File size + Розмір файлу - - File size - Розмір файлу + + KB + Кб - + Bitrate - Бітрейт + Бітрейт - - Hz - Гц + + kbps + Кб/с - + Samplerate - Частота + Частота - - Channels - Канали + + Hz + Гц - - kbps - Кб/с + + Channels + Канали diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_CN.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_CN.ts index 0d579053c..bedcc78f6 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_CN.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_CN.ts @@ -4,17 +4,17 @@ DecoderFFmpegFactory - + About FFmpeg Audio Plugin 关于 FFmpeg 音频插件 - + Qmmp FFmpeg Audio Plugin Qmmp FFmpeg 音频插件 - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> 作者:Ilya Kotov <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ FFmpeg 格式 - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 编译依赖 libavformat-%1.%2.%3 和 libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length - - KB - KB - - - + File size - + + KB + KB + + + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - Channels - + + Hz + Hz - - kbps - kbps + + Channels + diff --git a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_TW.ts b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_TW.ts index 71a1bcf1c..ff614a100 100644 --- a/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_TW.ts +++ b/src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_zh_TW.ts @@ -4,17 +4,17 @@ DecoderFFmpegFactory - + About FFmpeg Audio Plugin 關於 FFmpeg 聲訊插件 - + Qmmp FFmpeg Audio Plugin Qmmp FFmpeg 聲訊插件 - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> 作者:Ilya Kotov <forkotov02@hotmail.ru> @@ -29,52 +29,52 @@ FFmpeg 格式 - + Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6 編譯依賴 libavformat-%1.%2.%3 與 libavcodec-%4.%5.%6 - DetailsDialog + FFmpegMetaDataModel - + Length - - KB - KB - - - + File size - + + KB + KB + + + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - Channels - + + Hz + Hz - - kbps - kbps + + Channels + -- cgit v1.2.3-13-gbd6f