File indexing completed on 2024-05-05 04:44:40

0001 /*  This file is part of the KDE project
0002     Copyright (C) 2006 Matthias Kretz <kretz@kde.org>
0003 
0004     This library is free software; you can redistribute it and/or
0005     modify it under the terms of the GNU Lesser General Public
0006     License as published by the Free Software Foundation; either
0007     version 2.1 of the License, or (at your option) version 3, or any
0008     later version accepted by the membership of KDE e.V. (or its
0009     successor approved by the membership of KDE e.V.), Nokia Corporation 
0010     (or its successors, if any) and the KDE Free Qt Foundation, which shall
0011     act as a proxy defined in Section 6 of version 3 of the license.
0012 
0013     This library is distributed in the hope that it will be useful,
0014     but WITHOUT ANY WARRANTY; without even the implied warranty of
0015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0016     Lesser General Public License for more details.
0017 
0018     You should have received a copy of the GNU Lesser General Public 
0019     License along with this library.  If not, see <http://www.gnu.org/licenses/>.
0020 
0021 */
0022 
0023 #ifndef PHONON_AUDIOWRITER_H
0024 #define PHONON_AUDIOWRITER_H
0025 
0026 #include "export.h"
0027 #include "../abstractaudiooutput.h"
0028 #include "../phonondefs.h"
0029 
0030 namespace Phonon
0031 {
0032 namespace Experimental
0033 {
0034 
0035 class AudioWriterPrivate;
0036 class PHONONEXPERIMENTAL_EXPORT AudioWriter : public AbstractAudioOutput
0037 {
0038     Q_OBJECT
0039     K_DECLARE_PRIVATE(AudioWriter)
0040     PHONON_HEIR(AudioWriter)
0041     /**
0042      * This property defines the codec to be used for encoding the audio signal.
0043      * Possible codecs can be retrieved from BackendCapabilities using the
0044      * availableAudioCodecs() function.
0045      *
0046      * The default codec is an invalid codec (audioCodec().isValid() == false)
0047      */
0048     Q_PROPERTY(AudioCodec audioCodec READ audioCodec WRITE setAudioCodec)
0049     public:
0050         AudioCodec audioCodec() const;
0051         
0052     public Q_SLOTS:
0053         setAudioCodec(AudioCodec audioCodec);
0054         // codec parameters? reuse EffectParameter class?
0055 };
0056 
0057 } // namespace Experimental
0058 } // namespace Phonon
0059 
0060 #endif // PHONON_AUDIOWRITER_H
0061 // vim: sw=4 ts=4 tw=80