1 /* GStreamer 2 * Copyright (C) 2010 Edward Hervey <edward.hervey@collabora.co.uk> 3 * 2010 Nokia Corporation 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Library General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU Library General Public 16 * License along with this library; if not, write to the 17 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 18 * Boston, MA 02110-1301, USA. 19 */ 20 21 #include "gstdiscoverer.h" 22 23 struct _GstDiscovererStreamInfo { 24 GObject parent; 25 26 GstDiscovererStreamInfo *previous; /* NULL for starting points */ 27 GstDiscovererStreamInfo *next; /* NULL for containers */ 28 29 GstCaps *caps; 30 GstTagList *tags; 31 GstToc *toc; 32 gchar *stream_id; 33 GstStructure *misc; 34 }; 35 36 struct _GstDiscovererContainerInfo { 37 GstDiscovererStreamInfo parent; 38 39 GList *streams; 40 }; 41 42 struct _GstDiscovererAudioInfo { 43 GstDiscovererStreamInfo parent; 44 45 guint64 channel_mask; 46 guint channels; 47 guint sample_rate; 48 guint depth; 49 50 guint bitrate; 51 guint max_bitrate; 52 53 gchar *language; 54 }; 55 56 struct _GstDiscovererVideoInfo { 57 GstDiscovererStreamInfo parent; 58 59 guint width; 60 guint height; 61 guint depth; 62 guint framerate_num; 63 guint framerate_denom; 64 guint par_num; 65 guint par_denom; 66 gboolean interlaced; 67 68 guint bitrate; 69 guint max_bitrate; 70 71 gboolean is_image; 72 }; 73 74 struct _GstDiscovererSubtitleInfo { 75 GstDiscovererStreamInfo parent; 76 77 gchar *language; 78 }; 79 80 struct _GstDiscovererInfo { 81 GObject parent; 82 83 gchar *uri; 84 GstDiscovererResult result; 85 86 /* Sub-streams */ 87 GstDiscovererStreamInfo *stream_info; 88 GList *stream_list; 89 90 /* Stream global information */ 91 GstClockTime duration; 92 GstStructure *misc; 93 GstTagList *tags; 94 GstToc *toc; 95 gboolean live; 96 gboolean seekable; 97 GPtrArray *missing_elements_details; 98 99 gchar *cachefile; 100 gpointer from_cache; 101 }; 102 103 /* missing-plugins.c */ 104 G_GNUC_INTERNAL 105 GstCaps *copy_and_clean_caps (const GstCaps * caps); 106 107 G_GNUC_INTERNAL 108 void gst_pb_utils_init_locale_text_domain (void); 109