codecs: Reorganize the order of vfunc

... to the order in which it is actually called

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
This commit is contained in:
Seungha Yang 2020-03-29 22:35:06 +09:00 committed by GStreamer Merge Bot
parent 09a8d2db05
commit d72fcbe18a
3 changed files with 24 additions and 24 deletions

View file

@ -65,11 +65,6 @@ struct _GstH264Decoder
* Called whenever new #GstH264Picture is created. * Called whenever new #GstH264Picture is created.
* Subclass can set implementation specific user data * Subclass can set implementation specific user data
* on the #GstH264Picture via gst_h264_picture_set_user_data() * on the #GstH264Picture via gst_h264_picture_set_user_data()
* @output_picture: Called with a #GstH264Picture which is required to be outputted.
* Subclass can retrieve parent #GstVideoCodecFrame by using
* gst_video_decoder_get_frame() with system_frame_number
* and the #GstVideoCodecFrame must be consumed by subclass via
* gst_video_decoder_{finish,drop,release}_frame().
* @start_picture: Optional. * @start_picture: Optional.
* Called per one #GstH264Picture to notify subclass to prepare * Called per one #GstH264Picture to notify subclass to prepare
* decoding process for the #GstH264Picture * decoding process for the #GstH264Picture
@ -78,6 +73,11 @@ struct _GstH264Decoder
* @end_picture: Optional. * @end_picture: Optional.
* Called per one #GstH264Picture to notify subclass to finish * Called per one #GstH264Picture to notify subclass to finish
* decoding process for the #GstH264Picture * decoding process for the #GstH264Picture
* @output_picture: Called with a #GstH264Picture which is required to be outputted.
* Subclass can retrieve parent #GstVideoCodecFrame by using
* gst_video_decoder_get_frame() with system_frame_number
* and the #GstVideoCodecFrame must be consumed by subclass via
* gst_video_decoder_{finish,drop,release}_frame().
*/ */
struct _GstH264DecoderClass struct _GstH264DecoderClass
{ {
@ -90,9 +90,6 @@ struct _GstH264DecoderClass
gboolean (*new_picture) (GstH264Decoder * decoder, gboolean (*new_picture) (GstH264Decoder * decoder,
GstH264Picture * picture); GstH264Picture * picture);
GstFlowReturn (*output_picture) (GstH264Decoder * decoder,
GstH264Picture * picture);
gboolean (*start_picture) (GstH264Decoder * decoder, gboolean (*start_picture) (GstH264Decoder * decoder,
GstH264Picture * picture, GstH264Picture * picture,
GstH264Slice * slice, GstH264Slice * slice,
@ -105,6 +102,9 @@ struct _GstH264DecoderClass
gboolean (*end_picture) (GstH264Decoder * decoder, gboolean (*end_picture) (GstH264Decoder * decoder,
GstH264Picture * picture); GstH264Picture * picture);
GstFlowReturn (*output_picture) (GstH264Decoder * decoder,
GstH264Picture * picture);
/*< private >*/ /*< private >*/
gpointer padding[GST_PADDING_LARGE]; gpointer padding[GST_PADDING_LARGE];
}; };

View file

@ -78,11 +78,6 @@ struct _GstH265Decoder
* Called whenever new #GstH265Picture is created. * Called whenever new #GstH265Picture is created.
* Subclass can set implementation specific user data * Subclass can set implementation specific user data
* on the #GstH265Picture via gst_h265_picture_set_user_data() * on the #GstH265Picture via gst_h265_picture_set_user_data()
* @output_picture: Called with a #GstH265Picture which is required to be outputted.
* Subclass can retrieve parent #GstVideoCodecFrame by using
* gst_video_decoder_get_frame() with system_frame_number
* and the #GstVideoCodecFrame must be consumed by subclass via
* gst_video_decoder_{finish,drop,release}_frame().
* @start_picture: Optional. * @start_picture: Optional.
* Called per one #GstH265Picture to notify subclass to prepare * Called per one #GstH265Picture to notify subclass to prepare
* decoding process for the #GstH265Picture * decoding process for the #GstH265Picture
@ -91,6 +86,11 @@ struct _GstH265Decoder
* @end_picture: Optional. * @end_picture: Optional.
* Called per one #GstH265Picture to notify subclass to finish * Called per one #GstH265Picture to notify subclass to finish
* decoding process for the #GstH265Picture * decoding process for the #GstH265Picture
* @output_picture: Called with a #GstH265Picture which is required to be outputted.
* Subclass can retrieve parent #GstVideoCodecFrame by using
* gst_video_decoder_get_frame() with system_frame_number
* and the #GstVideoCodecFrame must be consumed by subclass via
* gst_video_decoder_{finish,drop,release}_frame().
*/ */
struct _GstH265DecoderClass struct _GstH265DecoderClass
{ {
@ -103,9 +103,6 @@ struct _GstH265DecoderClass
gboolean (*new_picture) (GstH265Decoder * decoder, gboolean (*new_picture) (GstH265Decoder * decoder,
GstH265Picture * picture); GstH265Picture * picture);
GstFlowReturn (*output_picture) (GstH265Decoder * decoder,
GstH265Picture * picture);
gboolean (*start_picture) (GstH265Decoder * decoder, gboolean (*start_picture) (GstH265Decoder * decoder,
GstH265Picture * picture, GstH265Picture * picture,
GstH265Slice * slice, GstH265Slice * slice,
@ -118,6 +115,9 @@ struct _GstH265DecoderClass
gboolean (*end_picture) (GstH265Decoder * decoder, gboolean (*end_picture) (GstH265Decoder * decoder,
GstH265Picture * picture); GstH265Picture * picture);
GstFlowReturn (*output_picture) (GstH265Decoder * decoder,
GstH265Picture * picture);
/*< private >*/ /*< private >*/
gpointer padding[GST_PADDING_LARGE]; gpointer padding[GST_PADDING_LARGE];
}; };

View file

@ -66,11 +66,6 @@ struct _GstVp9Decoder
* Subclass can set implementation specific user data * Subclass can set implementation specific user data
* on the #GstVp9Picture via gst_h264_picture_set_user_data() * on the #GstVp9Picture via gst_h264_picture_set_user_data()
* @duplicate_picture: Duplicate the #GstVp9Picture * @duplicate_picture: Duplicate the #GstVp9Picture
* @output_picture: Called with a #GstVp9Picture which is required to be outputted.
* Subclass can retrieve parent #GstVideoCodecFrame by using
* gst_video_decoder_get_frame() with system_frame_number
* and the #GstVideoCodecFrame must be consumed by subclass via
* gst_video_decoder_{finish,drop,release}_frame().
* @start_picture: Optional. * @start_picture: Optional.
* Called per one #GstVp9Picture to notify subclass to prepare * Called per one #GstVp9Picture to notify subclass to prepare
* decoding process for the #GstVp9Picture * decoding process for the #GstVp9Picture
@ -79,6 +74,11 @@ struct _GstVp9Decoder
* @end_picture: Optional. * @end_picture: Optional.
* Called per one #GstVp9Picture to notify subclass to finish * Called per one #GstVp9Picture to notify subclass to finish
* decoding process for the #GstVp9Picture * decoding process for the #GstVp9Picture
* @output_picture: Called with a #GstVp9Picture which is required to be outputted.
* Subclass can retrieve parent #GstVideoCodecFrame by using
* gst_video_decoder_get_frame() with system_frame_number
* and the #GstVideoCodecFrame must be consumed by subclass via
* gst_video_decoder_{finish,drop,release}_frame().
*/ */
struct _GstVp9DecoderClass struct _GstVp9DecoderClass
{ {
@ -93,9 +93,6 @@ struct _GstVp9DecoderClass
GstVp9Picture * (*duplicate_picture) (GstVp9Decoder * decoder, GstVp9Picture * (*duplicate_picture) (GstVp9Decoder * decoder,
GstVp9Picture * picture); GstVp9Picture * picture);
GstFlowReturn (*output_picture) (GstVp9Decoder * decoder,
GstVp9Picture * picture);
gboolean (*start_picture) (GstVp9Decoder * decoder, gboolean (*start_picture) (GstVp9Decoder * decoder,
GstVp9Picture * picture); GstVp9Picture * picture);
@ -106,6 +103,9 @@ struct _GstVp9DecoderClass
gboolean (*end_picture) (GstVp9Decoder * decoder, gboolean (*end_picture) (GstVp9Decoder * decoder,
GstVp9Picture * picture); GstVp9Picture * picture);
GstFlowReturn (*output_picture) (GstVp9Decoder * decoder,
GstVp9Picture * picture);
/*< private >*/ /*< private >*/
gpointer padding[GST_PADDING_LARGE]; gpointer padding[GST_PADDING_LARGE];
}; };