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 gint stream_number; 35 }; 36 37 struct _GstDiscovererContainerInfo { 38 GstDiscovererStreamInfo parent; 39 40 GList *streams; 41 GstTagList *tags; 42 }; 43 44 struct _GstDiscovererAudioInfo { 45 GstDiscovererStreamInfo parent; 46 47 guint64 channel_mask; 48 guint channels; 49 guint sample_rate; 50 guint depth; 51 52 guint bitrate; 53 guint max_bitrate; 54 55 gchar *language; 56 }; 57 58 struct _GstDiscovererVideoInfo { 59 GstDiscovererStreamInfo parent; 60 61 guint width; 62 guint height; 63 guint depth; 64 guint framerate_num; 65 guint framerate_denom; 66 guint par_num; 67 guint par_denom; 68 gboolean interlaced; 69 70 guint bitrate; 71 guint max_bitrate; 72 73 gboolean is_image; 74 }; 75 76 struct _GstDiscovererSubtitleInfo { 77 GstDiscovererStreamInfo parent; 78 79 gchar *language; 80 }; 81 82 struct _GstDiscovererInfo { 83 GObject parent; 84 85 gchar *uri; 86 GstDiscovererResult result; 87 88 /* Sub-streams */ 89 GstDiscovererStreamInfo *stream_info; 90 GList *stream_list; 91 92 /* Stream global information */ 93 GstClockTime duration; 94 GstStructure *misc; 95 GstTagList *tags; 96 GstToc *toc; 97 gboolean live; 98 gboolean seekable; 99 GPtrArray *missing_elements_details; 100 101 gint stream_count; 102 103 gchar *cachefile; 104 gpointer from_cache; 105 }; 106 107 /* missing-plugins.c */ 108 G_GNUC_INTERNAL 109 GstCaps *copy_and_clean_caps (const GstCaps * caps); 110 111 G_GNUC_INTERNAL 112 void gst_pb_utils_init_locale_text_domain (void); 113