vaapi: Fix some code defects

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3954>
This commit is contained in:
Mengkejiergeli Ba 2023-02-14 14:32:56 +08:00 committed by GStreamer Marge Bot
parent 906b90287c
commit 68425e8241
4 changed files with 19 additions and 8 deletions

View file

@ -499,8 +499,7 @@ nal_is_rasl (guint8 nal_type)
static gboolean
nal_is_slice (guint8 nal_type)
{
if ((nal_type >= GST_H265_NAL_SLICE_TRAIL_N) &&
(nal_type <= GST_H265_NAL_SLICE_CRA_NUT))
if ((nal_type <= GST_H265_NAL_SLICE_CRA_NUT))
return TRUE;
return FALSE;
}

View file

@ -3017,11 +3017,11 @@ gst_vaapi_encoder_h264_get_pending_reordered (GstVaapiEncoder * base_encoder,
iter->pic_type = GST_VAAPI_PICTURE_TYPE_B;
} else if (iter->pic_type == GST_VAAPI_PICTURE_TYPE_B) {
pic = g_queue_pop_head (&reorder_pool->reorder_frame_list);
g_assert (pic);
} else {
GST_WARNING ("Unhandled pending picture type");
}
g_assert (pic);
set_frame_num (encoder, pic);
if (GST_CLOCK_TIME_IS_VALID (pic->frame->pts))

View file

@ -152,11 +152,16 @@ GST_START_TEST (test_overlay_position)
fail_unless (handoff_buffer != NULL);
pad = gst_element_get_static_pad (sink, "sink");
caps = gst_pad_get_current_caps (pad);
gst_video_info_from_caps (&vinfo, caps);
gst_caps_unref (caps);
gst_object_unref (pad);
if (!gst_video_info_from_caps (&vinfo, caps)) {
GST_ERROR ("Failed to parse the caps");
goto end;
}
if (!gst_video_frame_map (&frame, &vinfo, handoff_buffer, GST_MAP_READ)) {
GST_ERROR ("Failed to map the frame");
goto end;
}
gst_video_frame_map (&frame, &vinfo, handoff_buffer, GST_MAP_READ);
{
guint i, j, n_planes, plane;
n_planes = GST_VIDEO_FRAME_N_PLANES (&frame);
@ -193,7 +198,10 @@ GST_START_TEST (test_overlay_position)
}
gst_video_frame_unmap (&frame);
end:
/* cleanup */
gst_caps_unref (caps);
gst_object_unref (pad);
gst_buffer_replace (&handoff_buffer, NULL);
gst_element_set_state (bin, GST_STATE_NULL);
g_main_loop_unref (main_loop);

View file

@ -298,7 +298,11 @@ app_free (App * app)
y4m_reader_close (app->parser);
if (app->encoder) {
gst_vaapi_encoder_flush (app->encoder);
if ((gst_vaapi_encoder_flush (app->encoder)) !=
GST_VAAPI_ENCODER_STATUS_SUCCESS)
GST_WARNING_OBJECT (app->encoder,
"Failed to flush pending encoded frames");
gst_object_unref (app->encoder);
}