1/* This file is part of the KDE project.
2
3 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4
5 This library is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 2.1 or 3 of the License.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public License
15 along with this library. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef Phonon_GSTREAMER_GSTHELPER_H
19#define Phonon_GSTREAMER_GSTHELPER_H
20
21#include <QtCore/QList>
22#include <QtCore/QByteArray>
23#include <QtCore/QString>
24#include <gst/gstelement.h>
25#include <gst/gstbin.h>
26
27template<class T> class QList;
28class QByteArray;
29
30namespace Phonon
31{
32namespace Gstreamer
33{
34class MediaObject;
35class GstHelper
36{
37public:
38 static QList<QByteArray> extractProperties(GstElement *elem, const QByteArray &value);
39 static bool setProperty(GstElement *elem, const char *propertyName, const QByteArray &propertyValue);
40 static QByteArray property(GstElement *elem, const char *propertyName);
41 static QByteArray name(GstObject *elem);
42 static QString stateName(GstState);
43};
44
45} // ns Gstreamer
46} // ns Phonon
47
48#endif // Phonon_GSTREAMER_GSTHELPER_H
49