missing-plugins.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. #ifndef __GST_PB_UTILS_MISSING_PLUGINS_H__
  20. #define __GST_PB_UTILS_MISSING_PLUGINS_H__
  21. #include <gst/gst.h>
  22. G_BEGIN_DECLS
  23. /*
  24. * functions to create missing-plugin messages, for use by plugins primarily
  25. */
  26. GstMessage * gst_missing_uri_source_message_new (GstElement * element,
  27. const gchar * protocol);
  28. GstMessage * gst_missing_uri_sink_message_new (GstElement * element,
  29. const gchar * protocol);
  30. GstMessage * gst_missing_element_message_new (GstElement * element,
  31. const gchar * factory_name);
  32. GstMessage * gst_missing_decoder_message_new (GstElement * element,
  33. const GstCaps * decode_caps);
  34. GstMessage * gst_missing_encoder_message_new (GstElement * element,
  35. const GstCaps * encode_caps);
  36. /*
  37. * functions for use by applications when dealing with missing-plugin messages
  38. */
  39. gchar * gst_missing_plugin_message_get_installer_detail (GstMessage * msg);
  40. gchar * gst_missing_plugin_message_get_description (GstMessage * msg);
  41. gboolean gst_is_missing_plugin_message (GstMessage * msg);
  42. /*
  43. * functions for use by applications that know exactly what plugins they are
  44. * missing and want to request them directly rather than just react to
  45. * missing-plugin messages posted by elements such as playbin or decodebin
  46. */
  47. gchar * gst_missing_uri_source_installer_detail_new (const gchar * protocol);
  48. gchar * gst_missing_uri_sink_installer_detail_new (const gchar * protocol);
  49. gchar * gst_missing_element_installer_detail_new (const gchar * factory_name);
  50. gchar * gst_missing_decoder_installer_detail_new (const GstCaps * decode_caps);
  51. gchar * gst_missing_encoder_installer_detail_new (const GstCaps * encode_caps);
  52. G_END_DECLS
  53. #endif /* __GST_PB_UTILS_MISSING_PLUGINS_H__ */