summaryrefslogtreecommitdiff
path: root/src/QGst/init.h
blob: 2cb8d072992a53990d6f0be5aa6888ef252c7af6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
    Copyright (C) 2010  George Kiagiadakis <kiagiadakis.george@gmail.com>

    This library is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published
    by the Free Software Foundation; either version 2.1 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 Lesser General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef QGST_INIT_H
#define QGST_INIT_H

#include "global.h"

namespace QGst {

    /*! \overload
     * \note You need to include <QGst/Init> to use this function.
     */
    QTGSTREAMER_EXPORT void init();

    /*! Initializes the GStreamer library, setting up internal path lists,
     * registering built-in elements, and loading standard plugins.
     * \note
     * \li This function also calls QGlib::init(), so there is no need to call it explicitly.
     * \li You need to include <QGst/Init> to use this function.
     *
     * \param argc pointer to the application's argc
     * \param argv pointer to the application's argv
     * \throws QGlib::Error when initialization fails
     */
    QTGSTREAMER_EXPORT void init(int *argc, char **argv[]);

    /*! Clean up any resources created by GStreamer in init().
     *
     * It is normally not needed to call this function in a normal application as the resources
     * will automatically be freed when the program terminates. This function is therefore mostly
     * used by testsuites and other memory profiling tools.
     *
     * After this call GStreamer (including this method) should not be used anymore.
     *
     * \note You need to include <QGst/Init> to use this function.
     */
    QTGSTREAMER_EXPORT void cleanup();

} //namespace QGst

#endif //QGST_INIT_H