| 1 | /* GStreamer base utils library missing plugins support | 
| 2 |  * Copyright (C) 2006 Tim-Philipp Müller <tim centricular net> | 
| 3 |  * | 
| 4 |  * This library is free software; you can redistribute it and/or | 
| 5 |  * modify it under the terms of the GNU Library General Public | 
| 6 |  * License as published by the Free Software Foundation; either | 
| 7 |  * version 2 of the License, or (at your option) any later version. | 
| 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 GNU | 
| 12 |  * Library General Public License for more details. | 
| 13 |  * | 
| 14 |  * You should have received a copy of the GNU Library General Public | 
| 15 |  * License along with this library; if not, write to the | 
| 16 |  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, | 
| 17 |  * Boston, MA 02110-1301, USA. | 
| 18 |  */ | 
| 19 |  | 
| 20 | #ifndef __GST_PB_UTILS_MISSING_PLUGINS_H__ | 
| 21 | #define __GST_PB_UTILS_MISSING_PLUGINS_H__ | 
| 22 |  | 
| 23 | #include <gst/gst.h> | 
| 24 | #include <gst/pbutils/pbutils-prelude.h> | 
| 25 |  | 
| 26 | G_BEGIN_DECLS | 
| 27 |  | 
| 28 | /* | 
| 29 |  * functions to create missing-plugin messages, for use by plugins primarily | 
| 30 |  */ | 
| 31 |  | 
| 32 | GST_PBUTILS_API | 
| 33 | GstMessage * gst_missing_uri_source_message_new (GstElement    * element, | 
| 34 |                                                  const gchar   * protocol); | 
| 35 |  | 
| 36 | GST_PBUTILS_API | 
| 37 | GstMessage * gst_missing_uri_sink_message_new   (GstElement    * element, | 
| 38 |                                                  const gchar   * protocol); | 
| 39 |  | 
| 40 | GST_PBUTILS_API | 
| 41 | GstMessage * gst_missing_element_message_new    (GstElement    * element, | 
| 42 |                                                  const gchar   * factory_name); | 
| 43 |  | 
| 44 | GST_PBUTILS_API | 
| 45 | GstMessage * gst_missing_decoder_message_new    (GstElement    * element, | 
| 46 |                                                  const GstCaps * decode_caps); | 
| 47 |  | 
| 48 | GST_PBUTILS_API | 
| 49 | GstMessage * gst_missing_encoder_message_new    (GstElement    * element, | 
| 50 |                                                  const GstCaps * encode_caps); | 
| 51 |  | 
| 52 | /* | 
| 53 |  * functions for use by applications when dealing with missing-plugin messages | 
| 54 |  */ | 
| 55 |  | 
| 56 | GST_PBUTILS_API | 
| 57 | gchar       * gst_missing_plugin_message_get_installer_detail (GstMessage * msg); | 
| 58 |  | 
| 59 | GST_PBUTILS_API | 
| 60 | gchar       * gst_missing_plugin_message_get_description (GstMessage * msg); | 
| 61 |  | 
| 62 | GST_PBUTILS_API | 
| 63 | gboolean      gst_is_missing_plugin_message (GstMessage * msg); | 
| 64 |  | 
| 65 |  | 
| 66 | /* | 
| 67 |  * functions for use by applications that know exactly what plugins they are | 
| 68 |  * missing and want to request them directly rather than just react to | 
| 69 |  * missing-plugin messages posted by elements such as playbin or decodebin | 
| 70 |  */ | 
| 71 |  | 
| 72 | GST_PBUTILS_API | 
| 73 | gchar * gst_missing_uri_source_installer_detail_new (const gchar * protocol); | 
| 74 |  | 
| 75 | GST_PBUTILS_API | 
| 76 | gchar * gst_missing_uri_sink_installer_detail_new (const gchar * protocol); | 
| 77 |  | 
| 78 | GST_PBUTILS_API | 
| 79 | gchar * gst_missing_element_installer_detail_new (const gchar * factory_name); | 
| 80 |  | 
| 81 | GST_PBUTILS_API | 
| 82 | gchar * gst_missing_decoder_installer_detail_new (const GstCaps * decode_caps); | 
| 83 |  | 
| 84 | GST_PBUTILS_API | 
| 85 | gchar * gst_missing_encoder_installer_detail_new (const GstCaps * encode_caps); | 
| 86 |  | 
| 87 | G_END_DECLS | 
| 88 |  | 
| 89 | #endif /* __GST_PB_UTILS_MISSING_PLUGINS_H__ */ | 
| 90 |  | 
| 91 |  |