Lines Matching refs:common
53 #define DEBUG_ELEMENT_START(common, ebml, element) \ argument
54 GST_DEBUG_OBJECT (common->sinkpad, "Parsing " element " element at offset %" \
57 #define DEBUG_ELEMENT_STOP(common, ebml, element, ret) \ argument
58 GST_DEBUG_OBJECT (common->sinkpad, "Parsing " element " element " \
632 gst_matroska_read_common_do_index_seek (GstMatroskaReadCommon * common, in gst_matroska_read_common_do_index_seek() argument
643 GST_DEBUG_OBJECT (common->sinkpad, "Missing track index table"); in gst_matroska_read_common_do_index_seek()
644 index = common->index; in gst_matroska_read_common_do_index_seek()
704 gst_matroska_read_common_found_global_tag (GstMatroskaReadCommon * common, in gst_matroska_read_common_found_global_tag() argument
707 if (common->global_tags) { in gst_matroska_read_common_found_global_tag()
708 gst_tag_list_insert (common->global_tags, taglist, GST_TAG_MERGE_APPEND); in gst_matroska_read_common_found_global_tag()
711 common->global_tags = taglist; in gst_matroska_read_common_found_global_tag()
713 common->global_tags_changed = TRUE; in gst_matroska_read_common_found_global_tag()
717 gst_matroska_read_common_get_length (GstMatroskaReadCommon * common) in gst_matroska_read_common_get_length() argument
721 if (!gst_pad_peer_query_duration (common->sinkpad, GST_FORMAT_BYTES, in gst_matroska_read_common_get_length()
723 GST_DEBUG_OBJECT (common->sinkpad, "no upstream length"); in gst_matroska_read_common_get_length()
730 gst_matroska_read_common_get_seek_track (GstMatroskaReadCommon * common, in gst_matroska_read_common_get_seek_track() argument
738 for (i = 0; i < common->src->len; i++) { in gst_matroska_read_common_get_seek_track()
741 stream = g_ptr_array_index (common->src, i); in gst_matroska_read_common_get_seek_track()
751 gst_matroska_read_common_parse_skip (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_skip() argument
755 GST_DEBUG_OBJECT (common->sinkpad, "Skipping EBML Void element"); in gst_matroska_read_common_parse_skip()
757 GST_DEBUG_OBJECT (common->sinkpad, "Skipping EBML CRC32 element"); in gst_matroska_read_common_parse_skip()
759 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_skip()
767 gst_matroska_read_common_parse_attached_file (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_attached_file() argument
778 DEBUG_ELEMENT_START (common, ebml, "AttachedFile"); in gst_matroska_read_common_parse_attached_file()
781 DEBUG_ELEMENT_STOP (common, ebml, "AttachedFile", ret); in gst_matroska_read_common_parse_attached_file()
794 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_attached_file()
800 GST_DEBUG_OBJECT (common->sinkpad, "FileDescription: %s", in gst_matroska_read_common_parse_attached_file()
805 GST_WARNING_OBJECT (common->sinkpad, "FileName can only appear once"); in gst_matroska_read_common_parse_attached_file()
811 GST_DEBUG_OBJECT (common->sinkpad, "FileName: %s", in gst_matroska_read_common_parse_attached_file()
816 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_attached_file()
822 GST_DEBUG_OBJECT (common->sinkpad, "FileMimeType: %s", in gst_matroska_read_common_parse_attached_file()
827 GST_WARNING_OBJECT (common->sinkpad, "FileData can only appear once"); in gst_matroska_read_common_parse_attached_file()
832 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_attached_file()
837 ret = gst_matroska_read_common_parse_skip (common, ebml, in gst_matroska_read_common_parse_attached_file()
846 DEBUG_ELEMENT_STOP (common, ebml, "AttachedFile", ret); in gst_matroska_read_common_parse_attached_file()
856 GST_DEBUG_OBJECT (common->sinkpad, "Creating tag for attachment with " in gst_matroska_read_common_parse_attached_file()
917 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_attached_file()
941 gst_matroska_read_common_parse_attachments (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_attachments() argument
948 DEBUG_ELEMENT_START (common, ebml, "Attachments"); in gst_matroska_read_common_parse_attachments()
951 DEBUG_ELEMENT_STOP (common, ebml, "Attachments", ret); in gst_matroska_read_common_parse_attachments()
964 ret = gst_matroska_read_common_parse_attached_file (common, ebml, in gst_matroska_read_common_parse_attachments()
969 ret = gst_matroska_read_common_parse_skip (common, ebml, in gst_matroska_read_common_parse_attachments()
974 DEBUG_ELEMENT_STOP (common, ebml, "Attachments", ret); in gst_matroska_read_common_parse_attachments()
977 GST_DEBUG_OBJECT (common->sinkpad, "Storing attachment tags"); in gst_matroska_read_common_parse_attachments()
978 gst_matroska_read_common_found_global_tag (common, el, taglist); in gst_matroska_read_common_parse_attachments()
980 GST_DEBUG_OBJECT (common->sinkpad, "No valid attachments found"); in gst_matroska_read_common_parse_attachments()
984 common->attachments_parsed = TRUE; in gst_matroska_read_common_parse_attachments()
1034 gst_matroska_read_common_parse_metadata_targets (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_metadata_targets() argument
1044 DEBUG_ELEMENT_START (common, ebml, "TagTargets"); in gst_matroska_read_common_parse_metadata_targets()
1050 DEBUG_ELEMENT_STOP (common, ebml, "TagTargets", ret); in gst_matroska_read_common_parse_metadata_targets()
1088 gst_matroska_read_common_parse_skip (common, ebml, "TagTargets", in gst_matroska_read_common_parse_metadata_targets()
1094 DEBUG_ELEMENT_STOP (common, ebml, "TagTargets", ret); in gst_matroska_read_common_parse_metadata_targets()
1174 gst_matroska_read_common_parse_chapter_titles (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_chapter_titles() argument
1181 DEBUG_ELEMENT_START (common, ebml, "ChaptersTitles"); in gst_matroska_read_common_parse_chapter_titles()
1185 DEBUG_ELEMENT_STOP (common, ebml, "ChaptersTitles", ret); in gst_matroska_read_common_parse_chapter_titles()
1200 gst_matroska_read_common_parse_skip (common, ebml, "ChaptersTitles", in gst_matroska_read_common_parse_chapter_titles()
1206 DEBUG_ELEMENT_STOP (common, ebml, "ChaptersTitles", ret); in gst_matroska_read_common_parse_chapter_titles()
1216 gst_matroska_read_common_parse_chapter_element (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_chapter_element() argument
1228 DEBUG_ELEMENT_START (common, ebml, "ChaptersElement"); in gst_matroska_read_common_parse_chapter_element()
1231 DEBUG_ELEMENT_STOP (common, ebml, "ChaptersElement", ret); in gst_matroska_read_common_parse_chapter_element()
1259 ret = gst_matroska_read_common_parse_chapter_element (common, ebml, in gst_matroska_read_common_parse_chapter_element()
1265 gst_matroska_read_common_parse_chapter_titles (common, ebml, tags); in gst_matroska_read_common_parse_chapter_element()
1278 gst_matroska_read_common_parse_skip (common, ebml, in gst_matroska_read_common_parse_chapter_element()
1311 DEBUG_ELEMENT_STOP (common, ebml, "ChaptersElement", ret); in gst_matroska_read_common_parse_chapter_element()
1329 gst_matroska_read_common_parse_chapter_edition (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_chapter_edition() argument
1339 DEBUG_ELEMENT_START (common, ebml, "ChaptersEdition"); in gst_matroska_read_common_parse_chapter_edition()
1342 DEBUG_ELEMENT_STOP (common, ebml, "ChaptersEdition", ret); in gst_matroska_read_common_parse_chapter_edition()
1356 ret = gst_matroska_read_common_parse_chapter_element (common, ebml, in gst_matroska_read_common_parse_chapter_edition()
1366 gst_matroska_read_common_parse_skip (common, ebml, in gst_matroska_read_common_parse_chapter_edition()
1372 DEBUG_ELEMENT_STOP (common, ebml, "ChaptersEdition", ret); in gst_matroska_read_common_parse_chapter_edition()
1395 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_chapter_edition()
1405 gst_matroska_read_common_parse_chapters (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_chapters() argument
1412 DEBUG_ELEMENT_START (common, ebml, "Chapters"); in gst_matroska_read_common_parse_chapters()
1415 DEBUG_ELEMENT_STOP (common, ebml, "Chapters", ret); in gst_matroska_read_common_parse_chapters()
1429 ret = gst_matroska_read_common_parse_chapter_edition (common, ebml, in gst_matroska_read_common_parse_chapters()
1435 gst_matroska_read_common_parse_skip (common, ebml, "Chapters", id); in gst_matroska_read_common_parse_chapters()
1442 common->segment.duration, ""); in gst_matroska_read_common_parse_chapters()
1446 common->toc = toc; in gst_matroska_read_common_parse_chapters()
1447 common->internal_toc = internal_toc; in gst_matroska_read_common_parse_chapters()
1453 common->chapters_parsed = TRUE; in gst_matroska_read_common_parse_chapters()
1455 DEBUG_ELEMENT_STOP (common, ebml, "Chapters", ret); in gst_matroska_read_common_parse_chapters()
1460 gst_matroska_read_common_parse_header (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_header() argument
1478 GST_DEBUG_OBJECT (common->sinkpad, "id: %08x", id); in gst_matroska_read_common_parse_header()
1481 GST_ERROR_OBJECT (common->sinkpad, "Failed to read header"); in gst_matroska_read_common_parse_header()
1503 GST_ERROR_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1508 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1521 GST_ERROR_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1525 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1538 GST_ERROR_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1542 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1554 GST_DEBUG_OBJECT (common->sinkpad, "EbmlDocType: %s", in gst_matroska_read_common_parse_header()
1569 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1575 ret = gst_matroska_read_common_parse_skip (common, ebml, in gst_matroska_read_common_parse_header()
1598 GST_INFO_OBJECT (common->sinkpad, "Input is %s version %d", doctype, in gst_matroska_read_common_parse_header()
1601 common->is_webm = TRUE; in gst_matroska_read_common_parse_header()
1603 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_header()
1609 GST_ELEMENT_ERROR (common, STREAM, DEMUX, (NULL), in gst_matroska_read_common_parse_header()
1615 GST_ELEMENT_ERROR (common, STREAM, WRONG_TYPE, (NULL), in gst_matroska_read_common_parse_header()
1628 gst_matroska_read_common_parse_index_cuetrack (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_index_cuetrack() argument
1640 DEBUG_ELEMENT_START (common, ebml, "CueTrackPositions"); in gst_matroska_read_common_parse_index_cuetrack()
1643 DEBUG_ELEMENT_STOP (common, ebml, "CueTrackPositions", ret); in gst_matroska_read_common_parse_index_cuetrack()
1662 GST_WARNING_OBJECT (common->sinkpad, "Invalid CueTrack 0"); in gst_matroska_read_common_parse_index_cuetrack()
1666 GST_DEBUG_OBJECT (common->sinkpad, "CueTrack: %" G_GUINT64_FORMAT, num); in gst_matroska_read_common_parse_index_cuetrack()
1680 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_index_cuetrack()
1698 GST_WARNING_OBJECT (common->sinkpad, "Invalid CueBlockNumber 0"); in gst_matroska_read_common_parse_index_cuetrack()
1702 GST_DEBUG_OBJECT (common->sinkpad, "CueBlockNumber: %" G_GUINT64_FORMAT, in gst_matroska_read_common_parse_index_cuetrack()
1708 GST_DEBUG_OBJECT (common->sinkpad, "... looks suspicious, ignoring"); in gst_matroska_read_common_parse_index_cuetrack()
1715 ret = gst_matroska_read_common_parse_skip (common, ebml, in gst_matroska_read_common_parse_index_cuetrack()
1726 DEBUG_ELEMENT_STOP (common, ebml, "CueTrackPositions", ret); in gst_matroska_read_common_parse_index_cuetrack()
1730 if (common->index->len) { in gst_matroska_read_common_parse_index_cuetrack()
1733 last_idx = &g_array_index (common->index, GstMatroskaIndex, in gst_matroska_read_common_parse_index_cuetrack()
1734 common->index->len - 1); in gst_matroska_read_common_parse_index_cuetrack()
1737 GST_DEBUG_OBJECT (common->sinkpad, "Cue entry refers to same location, " in gst_matroska_read_common_parse_index_cuetrack()
1745 g_array_append_val (common->index, idx); in gst_matroska_read_common_parse_index_cuetrack()
1748 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_index_cuetrack()
1757 common, GstEbmlRead * ebml) in gst_matroska_read_common_parse_index_pointentry()
1764 DEBUG_ELEMENT_START (common, ebml, "CuePoint"); in gst_matroska_read_common_parse_index_pointentry()
1767 DEBUG_ELEMENT_STOP (common, ebml, "CuePoint", ret); in gst_matroska_read_common_parse_index_pointentry()
1782 GST_DEBUG_OBJECT (common->sinkpad, "CueTime: %" G_GUINT64_FORMAT, time); in gst_matroska_read_common_parse_index_pointentry()
1783 time = time * common->time_scale; in gst_matroska_read_common_parse_index_pointentry()
1790 ret = gst_matroska_read_common_parse_index_cuetrack (common, ebml, in gst_matroska_read_common_parse_index_pointentry()
1796 ret = gst_matroska_read_common_parse_skip (common, ebml, "CuePoint", in gst_matroska_read_common_parse_index_pointentry()
1802 DEBUG_ELEMENT_STOP (common, ebml, "CuePoint", ret); in gst_matroska_read_common_parse_index_pointentry()
1806 GST_WARNING_OBJECT (common->sinkpad, "CuePoint without valid time"); in gst_matroska_read_common_parse_index_pointentry()
1807 g_array_remove_range (common->index, common->index->len - nentries, in gst_matroska_read_common_parse_index_pointentry()
1812 for (i = common->index->len - nentries; i < common->index->len; i++) { in gst_matroska_read_common_parse_index_pointentry()
1814 &g_array_index (common->index, GstMatroskaIndex, i); in gst_matroska_read_common_parse_index_pointentry()
1817 GST_DEBUG_OBJECT (common->sinkpad, "Index entry: pos=%" G_GUINT64_FORMAT in gst_matroska_read_common_parse_index_pointentry()
1823 GST_DEBUG_OBJECT (common->sinkpad, "Empty CuePoint"); in gst_matroska_read_common_parse_index_pointentry()
1834 void gst_matroska_read_common_add_first_key_frame(GstMatroskaReadCommon * common) in gst_matroska_read_common_add_first_key_frame() argument
1837 for (gint i = 0; i < common->index->len; i++) { in gst_matroska_read_common_add_first_key_frame()
1838 GstMatroskaIndex *idx = &g_array_index (common->index, GstMatroskaIndex, i); in gst_matroska_read_common_add_first_key_frame()
1850 g_array_prepend_val (common->index, index); in gst_matroska_read_common_add_first_key_frame()
1851 GST_WARNING_OBJECT (common->sinkpad, "the position of 0 is not I-frame, force it to be"); in gst_matroska_read_common_add_first_key_frame()
1857 gst_matroska_read_common_stream_from_num (GstMatroskaReadCommon * common, in gst_matroska_read_common_stream_from_num() argument
1862 g_assert (common->src->len == common->num_streams); in gst_matroska_read_common_stream_from_num()
1863 for (n = 0; n < common->src->len; n++) { in gst_matroska_read_common_stream_from_num()
1864 GstMatroskaTrackContext *context = g_ptr_array_index (common->src, n); in gst_matroska_read_common_stream_from_num()
1871 if (n == common->num_streams) in gst_matroska_read_common_stream_from_num()
1872 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_stream_from_num()
1879 gst_matroska_read_common_parse_index (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_index() argument
1886 if (common->index) in gst_matroska_read_common_parse_index()
1887 g_array_unref (common->index); in gst_matroska_read_common_parse_index()
1888 common->index = in gst_matroska_read_common_parse_index()
1891 DEBUG_ELEMENT_START (common, ebml, "Cues"); in gst_matroska_read_common_parse_index()
1894 DEBUG_ELEMENT_STOP (common, ebml, "Cues", ret); in gst_matroska_read_common_parse_index()
1905 ret = gst_matroska_read_common_parse_index_pointentry (common, ebml); in gst_matroska_read_common_parse_index()
1909 ret = gst_matroska_read_common_parse_skip (common, ebml, "Cues", id); in gst_matroska_read_common_parse_index()
1913 DEBUG_ELEMENT_STOP (common, ebml, "Cues", ret); in gst_matroska_read_common_parse_index()
1916 g_array_sort (common->index, (GCompareFunc) gst_matroska_index_compare); in gst_matroska_read_common_parse_index()
1922 gst_matroska_read_common_add_first_key_frame(common); in gst_matroska_read_common_parse_index()
1926 for (i = 0; i < common->index->len; i++) { in gst_matroska_read_common_parse_index()
1927 GstMatroskaIndex *idx = &g_array_index (common->index, GstMatroskaIndex, in gst_matroska_read_common_parse_index()
1933 if (common->element_index) { in gst_matroska_read_common_parse_index()
1938 gst_matroska_read_common_stream_from_num (common, in gst_matroska_read_common_parse_index()
1940 ctx = g_ptr_array_index (common->src, track_num); in gst_matroska_read_common_parse_index()
1943 gst_index_get_writer_id (common->element_index, in gst_matroska_read_common_parse_index()
1947 if (common->element_index_writer_id == -1) in gst_matroska_read_common_parse_index()
1948 gst_index_get_writer_id (common->element_index, GST_OBJECT (common), in gst_matroska_read_common_parse_index()
1949 &common->element_index_writer_id); in gst_matroska_read_common_parse_index()
1950 writer_id = common->element_index_writer_id; in gst_matroska_read_common_parse_index()
1953 GST_LOG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_index()
1956 gst_index_add_association (common->element_index, writer_id, in gst_matroska_read_common_parse_index()
1958 GST_FORMAT_BYTES, idx->pos + common->ebml_segment_start, NULL); in gst_matroska_read_common_parse_index()
1965 track_num = gst_matroska_read_common_stream_from_num (common, idx->track); in gst_matroska_read_common_parse_index()
1969 ctx = g_ptr_array_index (common->src, track_num); in gst_matroska_read_common_parse_index()
1978 common->index_parsed = TRUE; in gst_matroska_read_common_parse_index()
1981 if (common->index->len == 0) { in gst_matroska_read_common_parse_index()
1982 g_array_unref (common->index); in gst_matroska_read_common_parse_index()
1983 common->index = NULL; in gst_matroska_read_common_parse_index()
1990 gst_matroska_read_common_parse_info (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_info() argument
1997 DEBUG_ELEMENT_START (common, ebml, "SegmentInfo"); in gst_matroska_read_common_parse_info()
2000 DEBUG_ELEMENT_STOP (common, ebml, "SegmentInfo", ret); in gst_matroska_read_common_parse_info()
2017 GST_DEBUG_OBJECT (common->sinkpad, "TimeCodeScale: %" G_GUINT64_FORMAT, in gst_matroska_read_common_parse_info()
2019 common->time_scale = num; in gst_matroska_read_common_parse_info()
2028 GST_WARNING_OBJECT (common->sinkpad, "Invalid duration %lf", dur_f); in gst_matroska_read_common_parse_info()
2032 GST_DEBUG_OBJECT (common->sinkpad, "Duration: %lf", dur_f); in gst_matroska_read_common_parse_info()
2042 GST_DEBUG_OBJECT (common->sinkpad, "WritingApp: %s", in gst_matroska_read_common_parse_info()
2044 common->writing_app = text; in gst_matroska_read_common_parse_info()
2054 GST_DEBUG_OBJECT (common->sinkpad, "MuxingApp: %s", in gst_matroska_read_common_parse_info()
2056 common->muxing_app = text; in gst_matroska_read_common_parse_info()
2068 GST_DEBUG_OBJECT (common->sinkpad, "DateUTC: %" G_GINT64_FORMAT, time); in gst_matroska_read_common_parse_info()
2069 common->created = time; in gst_matroska_read_common_parse_info()
2074 gst_matroska_read_common_found_global_tag (common, el, taglist); in gst_matroska_read_common_parse_info()
2086 GST_DEBUG_OBJECT (common->sinkpad, "Title: %s", GST_STR_NULL (text)); in gst_matroska_read_common_parse_info()
2089 gst_matroska_read_common_found_global_tag (common, el, taglist); in gst_matroska_read_common_parse_info()
2095 ret = gst_matroska_read_common_parse_skip (common, ebml, in gst_matroska_read_common_parse_info()
2117 gst_guint64_to_gdouble (common->time_scale)); in gst_matroska_read_common_parse_info()
2119 common->segment.duration = dur_u; in gst_matroska_read_common_parse_info()
2122 DEBUG_ELEMENT_STOP (common, ebml, "SegmentInfo", ret); in gst_matroska_read_common_parse_info()
2124 common->segmentinfo_parsed = TRUE; in gst_matroska_read_common_parse_info()
2131 common, GstEbmlRead * ebml, GstTagList ** p_taglist, gchar * parent) in gst_matroska_read_common_parse_metadata_id_simple_tag()
2307 DEBUG_ELEMENT_START (common, ebml, "SimpleTag"); in gst_matroska_read_common_parse_metadata_id_simple_tag()
2310 DEBUG_ELEMENT_STOP (common, ebml, "SimpleTag", ret); in gst_matroska_read_common_parse_metadata_id_simple_tag()
2330 GST_DEBUG_OBJECT (common->sinkpad, "TagName: %s", GST_STR_NULL (tag)); in gst_matroska_read_common_parse_metadata_id_simple_tag()
2342 GST_DEBUG_OBJECT (common->sinkpad, "TagString: %s", in gst_matroska_read_common_parse_metadata_id_simple_tag()
2353 ret = gst_matroska_read_common_parse_metadata_id_simple_tag (common, in gst_matroska_read_common_parse_metadata_id_simple_tag()
2360 ret = gst_matroska_read_common_parse_skip (common, ebml, "SimpleTag", in gst_matroska_read_common_parse_metadata_id_simple_tag()
2372 DEBUG_ELEMENT_STOP (common, ebml, "SimpleTag", ret); in gst_matroska_read_common_parse_metadata_id_simple_tag()
2412 GST_WARNING_OBJECT (common->sinkpad, "Can't transform tag '%s' with " in gst_matroska_read_common_parse_metadata_id_simple_tag()
2480 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_metadata_id_simple_tag()
2523 gst_matroska_read_common_count_streams (GstMatroskaReadCommon * common, in gst_matroska_read_common_count_streams() argument
2529 for (i = 0; i < common->src->len; i++) { in gst_matroska_read_common_count_streams()
2532 stream = g_ptr_array_index (common->src, i); in gst_matroska_read_common_count_streams()
2625 gst_matroska_read_common_apply_target_type (GstMatroskaReadCommon * common, in gst_matroska_read_common_apply_target_type() argument
2633 gst_matroska_read_common_count_streams (common, &a, &v, &s); in gst_matroska_read_common_apply_target_type()
2649 gst_matroska_read_common_parse_metadata_id_tag (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_metadata_id_tag() argument
2660 DEBUG_ELEMENT_START (common, ebml, "Tag"); in gst_matroska_read_common_parse_metadata_id_tag()
2663 DEBUG_ELEMENT_STOP (common, ebml, "Tag", ret); in gst_matroska_read_common_parse_metadata_id_tag()
2681 ret = gst_matroska_read_common_parse_metadata_id_simple_tag (common, in gst_matroska_read_common_parse_metadata_id_tag()
2689 ret = gst_matroska_read_common_parse_metadata_targets (common, ebml, in gst_matroska_read_common_parse_metadata_id_tag()
2695 ret = gst_matroska_read_common_parse_skip (common, ebml, "Tag", id); in gst_matroska_read_common_parse_metadata_id_tag()
2700 DEBUG_ELEMENT_STOP (common, ebml, "Tag", ret); in gst_matroska_read_common_parse_metadata_id_tag()
2702 taglist = gst_matroska_read_common_apply_target_type (common, taglist, in gst_matroska_read_common_parse_metadata_id_tag()
2711 if (common->toc == NULL) in gst_matroska_read_common_parse_metadata_id_tag()
2712 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_metadata_id_tag()
2715 cur = gst_toc_get_entries (common->toc); in gst_matroska_read_common_parse_metadata_id_tag()
2716 internal_cur = gst_toc_get_entries (common->internal_toc); in gst_matroska_read_common_parse_metadata_id_tag()
2723 common->toc_updated = TRUE; in gst_matroska_read_common_parse_metadata_id_tag()
2731 for (j = 0; j < common->src->len; j++) { in gst_matroska_read_common_parse_metadata_id_tag()
2732 GstMatroskaTrackContext *stream = g_ptr_array_index (common->src, j); in gst_matroska_read_common_parse_metadata_id_tag()
2745 g_hash_table_lookup (common->cached_track_taglists, track_uid); in gst_matroska_read_common_parse_metadata_id_tag()
2750 g_hash_table_insert (common->cached_track_taglists, track_uid, in gst_matroska_read_common_parse_metadata_id_tag()
2753 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_metadata_id_tag()
2770 gst_matroska_read_common_parse_metadata (GstMatroskaReadCommon * common, in gst_matroska_read_common_parse_metadata() argument
2782 for (l = common->tags_parsed; l; l = l->next) { in gst_matroska_read_common_parse_metadata()
2786 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_parse_metadata()
2792 common->tags_parsed = in gst_matroska_read_common_parse_metadata()
2793 g_list_prepend (common->tags_parsed, g_slice_new (guint64)); in gst_matroska_read_common_parse_metadata()
2794 *((guint64 *) common->tags_parsed->data) = curpos; in gst_matroska_read_common_parse_metadata()
2798 DEBUG_ELEMENT_STOP (common, ebml, "Tags", ret); in gst_matroska_read_common_parse_metadata()
2804 common->toc_updated = FALSE; in gst_matroska_read_common_parse_metadata()
2812 ret = gst_matroska_read_common_parse_metadata_id_tag (common, ebml, in gst_matroska_read_common_parse_metadata()
2817 ret = gst_matroska_read_common_parse_skip (common, ebml, "Tags", id); in gst_matroska_read_common_parse_metadata()
2823 DEBUG_ELEMENT_STOP (common, ebml, "Tags", ret); in gst_matroska_read_common_parse_metadata()
2826 gst_matroska_read_common_found_global_tag (common, el, taglist); in gst_matroska_read_common_parse_metadata()
2834 gst_matroska_read_common_peek_adapter (GstMatroskaReadCommon * common, guint in gst_matroska_read_common_peek_adapter() argument
2838 *data = gst_adapter_map (common->adapter, peek); in gst_matroska_read_common_peek_adapter()
2849 gst_matroska_read_common_peek_bytes (GstMatroskaReadCommon * common, guint64 in gst_matroska_read_common_peek_bytes() argument
2856 if (common->cached_buffer) { in gst_matroska_read_common_peek_bytes()
2857 guint64 cache_offset = GST_BUFFER_OFFSET (common->cached_buffer); in gst_matroska_read_common_peek_bytes()
2858 gsize cache_size = gst_buffer_get_size (common->cached_buffer); in gst_matroska_read_common_peek_bytes()
2860 if (cache_offset <= common->offset && in gst_matroska_read_common_peek_bytes()
2861 (common->offset + size) <= (cache_offset + cache_size)) { in gst_matroska_read_common_peek_bytes()
2863 *p_buf = gst_buffer_copy_region (common->cached_buffer, in gst_matroska_read_common_peek_bytes()
2864 GST_BUFFER_COPY_ALL, common->offset - cache_offset, size); in gst_matroska_read_common_peek_bytes()
2866 if (!common->cached_data) { in gst_matroska_read_common_peek_bytes()
2867 gst_buffer_map (common->cached_buffer, &common->cached_map, in gst_matroska_read_common_peek_bytes()
2869 common->cached_data = common->cached_map.data; in gst_matroska_read_common_peek_bytes()
2871 *bytes = common->cached_data + common->offset - cache_offset; in gst_matroska_read_common_peek_bytes()
2876 if (common->cached_data) { in gst_matroska_read_common_peek_bytes()
2877 gst_buffer_unmap (common->cached_buffer, &common->cached_map); in gst_matroska_read_common_peek_bytes()
2878 common->cached_data = NULL; in gst_matroska_read_common_peek_bytes()
2880 gst_buffer_unref (common->cached_buffer); in gst_matroska_read_common_peek_bytes()
2881 common->cached_buffer = NULL; in gst_matroska_read_common_peek_bytes()
2885 ret = gst_pad_pull_range (common->sinkpad, common->offset, in gst_matroska_read_common_peek_bytes()
2886 MAX (size, 64 * 1024), &common->cached_buffer); in gst_matroska_read_common_peek_bytes()
2888 common->cached_buffer = NULL; in gst_matroska_read_common_peek_bytes()
2892 if (gst_buffer_get_size (common->cached_buffer) >= size) { in gst_matroska_read_common_peek_bytes()
2894 *p_buf = gst_buffer_copy_region (common->cached_buffer, in gst_matroska_read_common_peek_bytes()
2897 gst_buffer_map (common->cached_buffer, &common->cached_map, GST_MAP_READ); in gst_matroska_read_common_peek_bytes()
2898 common->cached_data = common->cached_map.data; in gst_matroska_read_common_peek_bytes()
2899 *bytes = common->cached_data; in gst_matroska_read_common_peek_bytes()
2906 gst_buffer_unref (common->cached_buffer); in gst_matroska_read_common_peek_bytes()
2907 common->cached_buffer = NULL; in gst_matroska_read_common_peek_bytes()
2910 gst_pad_pull_range (common->sinkpad, common->offset, size, in gst_matroska_read_common_peek_bytes()
2911 &common->cached_buffer); in gst_matroska_read_common_peek_bytes()
2913 GST_DEBUG_OBJECT (common->sinkpad, "pull_range returned %d", ret); in gst_matroska_read_common_peek_bytes()
2921 if (gst_buffer_get_size (common->cached_buffer) < size) { in gst_matroska_read_common_peek_bytes()
2922 GST_WARNING_OBJECT (common->sinkpad, "Dropping short buffer at offset %" in gst_matroska_read_common_peek_bytes()
2924 common->offset, size, gst_buffer_get_size (common->cached_buffer)); in gst_matroska_read_common_peek_bytes()
2926 gst_buffer_unref (common->cached_buffer); in gst_matroska_read_common_peek_bytes()
2927 common->cached_buffer = NULL; in gst_matroska_read_common_peek_bytes()
2936 *p_buf = gst_buffer_copy_region (common->cached_buffer, in gst_matroska_read_common_peek_bytes()
2939 gst_buffer_map (common->cached_buffer, &common->cached_map, GST_MAP_READ); in gst_matroska_read_common_peek_bytes()
2940 common->cached_data = common->cached_map.data; in gst_matroska_read_common_peek_bytes()
2941 *bytes = common->cached_data; in gst_matroska_read_common_peek_bytes()
2948 gst_matroska_read_common_peek_pull (GstMatroskaReadCommon * common, guint peek, in gst_matroska_read_common_peek_pull() argument
2951 return gst_matroska_read_common_peek_bytes (common, common->offset, peek, in gst_matroska_read_common_peek_pull()
2956 gst_matroska_read_common_peek_id_length_pull (GstMatroskaReadCommon * common, in gst_matroska_read_common_peek_id_length_pull() argument
2960 (GstPeekData) gst_matroska_read_common_peek_pull, (gpointer) common, el, in gst_matroska_read_common_peek_id_length_pull()
2961 common->offset); in gst_matroska_read_common_peek_id_length_pull()
2965 gst_matroska_read_common_peek_id_length_push (GstMatroskaReadCommon * common, in gst_matroska_read_common_peek_id_length_push() argument
2971 (GstPeekData) gst_matroska_read_common_peek_adapter, (gpointer) common, in gst_matroska_read_common_peek_id_length_push()
2972 el, common->offset); in gst_matroska_read_common_peek_id_length_push()
2974 gst_adapter_unmap (common->adapter); in gst_matroska_read_common_peek_id_length_push()
2980 gst_matroska_read_common_read_track_encoding (GstMatroskaReadCommon * common, in gst_matroska_read_common_read_track_encoding() argument
2987 DEBUG_ELEMENT_START (common, ebml, "ContentEncoding"); in gst_matroska_read_common_read_track_encoding()
2993 DEBUG_ELEMENT_STOP (common, ebml, "ContentEncoding", ret); in gst_matroska_read_common_read_track_encoding()
3010 GST_ERROR_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3017 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3029 GST_ERROR_OBJECT (common->sinkpad, "Invalid ContentEncodingScope %" in gst_matroska_read_common_read_track_encoding()
3035 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3048 GST_ERROR_OBJECT (common->sinkpad, "Invalid ContentEncodingType %" in gst_matroska_read_common_read_track_encoding()
3054 if ((!common->is_webm) && (num == GST_MATROSKA_ENCODING_ENCRYPTION)) { in gst_matroska_read_common_read_track_encoding()
3055 GST_ERROR_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3060 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3067 DEBUG_ELEMENT_START (common, ebml, "ContentCompression"); in gst_matroska_read_common_read_track_encoding()
3085 GST_ERROR_OBJECT (common->sinkpad, "Invalid ContentCompAlgo %" in gst_matroska_read_common_read_track_encoding()
3090 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3107 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3112 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3118 DEBUG_ELEMENT_STOP (common, ebml, "ContentCompression", ret); in gst_matroska_read_common_read_track_encoding()
3124 DEBUG_ELEMENT_START (common, ebml, "ContentEncryption"); in gst_matroska_read_common_read_track_encoding()
3127 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3150 GST_ERROR_OBJECT (common->sinkpad, "Invalid ContentEncAlgo %" in gst_matroska_read_common_read_track_encoding()
3155 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3163 DEBUG_ELEMENT_START (common, ebml, "ContentEncAESSettings"); in gst_matroska_read_common_read_track_encoding()
3183 GST_ERROR_OBJECT (common->sinkpad, "Invalid Cipher Mode %" in gst_matroska_read_common_read_track_encoding()
3188 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3194 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3201 DEBUG_ELEMENT_STOP (common, ebml, "ContentEncAESSettings", ret); in gst_matroska_read_common_read_track_encoding()
3216 GST_DEBUG_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3226 GST_TRACE_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3239 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3245 DEBUG_ELEMENT_STOP (common, ebml, "ContentEncryption", ret); in gst_matroska_read_common_read_track_encoding()
3249 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encoding()
3256 DEBUG_ELEMENT_STOP (common, ebml, "ContentEncoding", ret); in gst_matroska_read_common_read_track_encoding()
3268 gst_matroska_read_common_read_track_encodings (GstMatroskaReadCommon * common, in gst_matroska_read_common_read_track_encodings() argument
3274 DEBUG_ELEMENT_START (common, ebml, "ContentEncodings"); in gst_matroska_read_common_read_track_encodings()
3277 DEBUG_ELEMENT_STOP (common, ebml, "ContentEncodings", ret); in gst_matroska_read_common_read_track_encodings()
3290 ret = gst_matroska_read_common_read_track_encoding (common, ebml, in gst_matroska_read_common_read_track_encodings()
3294 GST_WARNING_OBJECT (common->sinkpad, in gst_matroska_read_common_read_track_encodings()
3301 DEBUG_ELEMENT_STOP (common, ebml, "ContentEncodings", ret); in gst_matroska_read_common_read_track_encodings()
3458 gst_matroska_read_common_reset_streams (GstMatroskaReadCommon * common, in gst_matroska_read_common_reset_streams() argument
3463 GST_DEBUG_OBJECT (common->sinkpad, "resetting stream state"); in gst_matroska_read_common_reset_streams()
3465 g_assert (common->src->len == common->num_streams); in gst_matroska_read_common_reset_streams()
3466 for (i = 0; i < common->src->len; i++) { in gst_matroska_read_common_reset_streams()
3467 GstMatroskaTrackContext *context = g_ptr_array_index (common->src, i); in gst_matroska_read_common_reset_streams()
3482 gst_matroska_read_common_tracknumber_unique (GstMatroskaReadCommon * common, in gst_matroska_read_common_tracknumber_unique() argument
3487 g_assert (common->src->len == common->num_streams); in gst_matroska_read_common_tracknumber_unique()
3488 for (i = 0; i < common->src->len; i++) { in gst_matroska_read_common_tracknumber_unique()
3489 GstMatroskaTrackContext *context = g_ptr_array_index (common->src, i); in gst_matroska_read_common_tracknumber_unique()