QtGStreamer  0.10.2
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
pipeline.cpp
00001 /*
00002     Copyright (C) 2010  George Kiagiadakis <kiagiadakis.george@gmail.com>
00003 
00004     This library is free software; you can redistribute it and/or modify
00005     it under the terms of the GNU Lesser General Public License as published
00006     by the Free Software Foundation; either version 2.1 of the License, or
00007     (at your option) any later version.
00008 
00009     This program is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012     GNU Lesser General Public License for more details.
00013 
00014     You should have received a copy of the GNU Lesser General Public License
00015     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016 */
00017 #include "pipeline.h"
00018 #include "bus.h"
00019 #include "clock.h"
00020 #include <gst/gstpipeline.h>
00021 
00022 namespace QGst {
00023 
00024 //static
00025 PipelinePtr Pipeline::create(const char *name)
00026 {
00027     GstElement *p = gst_pipeline_new(name);
00028     if (p) {
00029         gst_object_ref_sink(p);
00030     }
00031     return PipelinePtr::wrap(GST_PIPELINE(p), false);
00032 }
00033 
00034 BusPtr Pipeline::bus() const
00035 {
00036     return BusPtr::wrap(gst_pipeline_get_bus(object<GstPipeline>()), false);
00037 }
00038 
00039 ClockPtr Pipeline::clock() const
00040 {
00041     return ClockPtr::wrap(gst_pipeline_get_clock(object<GstPipeline>()), false);
00042 }
00043 
00044 bool Pipeline::setClock(const ClockPtr & clock)
00045 {
00046     return gst_pipeline_set_clock(object<GstPipeline>(), clock);
00047 }
00048 
00049 void Pipeline::useClock(const ClockPtr & clock)
00050 {
00051     gst_pipeline_use_clock(object<GstPipeline>(), clock);
00052 }
00053 
00054 void Pipeline::enableAutoClock()
00055 {
00056     gst_pipeline_auto_clock(object<GstPipeline>());
00057 }
00058 
00059 }