1 /* 2 * Copyright (C) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef GST_SUBTITLE_BASE_PARSE_WRAP_H 17 #define GST_SUBTITLE_BASE_PARSE_WRAP_H 18 19 #include "gst_subtitle_base_parse.h" 20 21 gboolean handle_text_subtitle(GstSubtitleBaseParse *self, const GstSubtitleDecodedFrame *decoded_frame, 22 GstSubtitleStream *stream, GstFlowReturn *ret); 23 GstSubtitleStream *gst_subtitle_get_stream_by_id(const GstSubtitleBaseParse *self, gint stream_id); 24 void free_subinfos_and_streams(GstSubtitleBaseParse *base_parse); 25 gboolean handle_first_frame(GstPad *sinkpad, GstBuffer *buf, GstSubtitleBaseParse *self); 26 GstSubtitleStream *gst_subtitle_get_stream(GstSubtitleBaseParse *base_parse, const GstSubtitleInfo *info); 27 gboolean get_subtitle_streams(const GstSubtitleBaseParseClass *baseclass, 28 GstBuffer *buf, GstSubtitleBaseParse *self); 29 void gst_subtitle_push_stream_start_event(GstSubtitleBaseParse *base_parse); 30 gboolean gst_subtitle_set_caps(GstSubtitleBaseParse *base_parse); 31 gboolean gst_subtitle_set_tags(GstSubtitleBaseParse *base_parse); 32 gboolean chain_set_caps_and_tags(GstSubtitleBaseParse *self); 33 gboolean chain_push_new_segment_event(GstFlowReturn ret, GstSubtitleBaseParse *self); 34 gboolean decode_one_frame(const GstSubtitleBaseParseClass *baseclass, GstSubtitleBaseParse *self, 35 GstSubtitleFrame *frame, GstSubtitleDecodedFrame *decoded_frame); 36 37 #endif // GST_SUBTITLE_BASE_PARSE_WRAP_H 38