QtGStreamer  0.10.2
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
pad.h
1 /*
2  Copyright (C) 2009-2010 George Kiagiadakis <kiagiadakis.george@gmail.com>
3 
4  This library is free software; you can redistribute it and/or modify
5  it under the terms of the GNU Lesser General Public License as published
6  by the Free Software Foundation; either version 2.1 of the License, or
7  (at your option) any later version.
8 
9  This program 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 program. If not, see <http://www.gnu.org/licenses/>.
16 */
17 #ifndef QGST_PAD_H
18 #define QGST_PAD_H
19 
20 #include "object.h"
21 
22 namespace QGst {
23 
27 class QTGSTREAMER_EXPORT Pad : public Object
28 {
29  QGST_WRAPPER(Pad)
30 public:
31  static PadPtr create(PadDirection direction, const char *name = NULL);
32 
33  PadDirection direction() const;
34 
39  ElementPtr parentElement() const;
40  PadPtr peer() const;
41 
42  bool isLinked() const;
43  bool canLink(const PadPtr & sink) const;
44  PadLinkReturn link(const PadPtr & sink);
45  bool unlink(const PadPtr & sink);
46 
52  CapsPtr caps() const;
53  CapsPtr allowedCaps() const;
54  CapsPtr negotiatedCaps() const;
55  bool setCaps(const CapsPtr & caps);
56 
57  bool isActive() const;
58  bool setActive(bool active);
59 
60  bool isBlocked() const;
61  bool isBlocking() const;
62  bool setBlocked(bool blocked);
63 
64  bool query(const QueryPtr & query);
65  bool sendEvent(const EventPtr & event);
66 };
67 
68 }
69 
70 QGST_REGISTER_TYPE(QGst::Pad)
71 
72 #endif