00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "parse.h"
00018 #include "element.h"
00019 #include "../QGlib/error.h"
00020 #include <gst/gstparse.h>
00021
00022 namespace QGst {
00023 namespace Parse {
00024
00025 ElementPtr launch(const char* description)
00026 {
00027 GError *error = NULL;
00028 GstElement *e = gst_parse_launch_full(description, NULL, GST_PARSE_FLAG_FATAL_ERRORS, &error);
00029 if (error) {
00030 throw QGlib::Error(error);
00031 }
00032 if (e) {
00033 gst_object_ref_sink(e);
00034 }
00035 return ElementPtr::wrap(e, false);
00036 }
00037
00038 ElementPtr launch(const char *argv[])
00039 {
00040 GError *error = NULL;
00041 GstElement *e = gst_parse_launchv_full(argv, NULL, GST_PARSE_FLAG_FATAL_ERRORS, &error);
00042 if (error) {
00043 throw QGlib::Error(error);
00044 }
00045 if (e) {
00046 gst_object_ref_sink(e);
00047 }
00048 return ElementPtr::wrap(e, false);
00049 }
00050
00051 }
00052 }