[Bug 790752] msdk: supports bufferpool
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sat Feb 10 01:38:08 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=790752
sreerenj <bsreerenj at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #368115|none |needs-work
status| |
--- Comment #92 from sreerenj <bsreerenj at gmail.com> ---
Review of attachment 368115:
--> (https://bugzilla.gnome.org/review?bug=790752&attachment=368115)
::: sys/msdk/gstmsdkdec.c
@@ +110,3 @@
+ frame->output_buffer = NULL;
+ goto retry;
+ * We should be keep these buffers and check if it's unlocked.
I remember you were talking about the possibility to keep a separate surface
pool and writing our own acquire_buffer() for the bufferpool. How about just
overriding the acquire_buffer() as:
gst_msdk_buffer_pool_acqurre_buffer{
buffer = GST_BUFFER_POOL_CLASS
(gst_msdk_buffer_pool_parent_class)->acquire_buffer()
if (buffer.surface.Data.locked)
release_buffer() and try again.
else
ret buffer;
}
@@ +731,3 @@
+ return NULL;
+ }
+
I think we should move/refactor this function as a common utility method for
both encode and decoder.
It is almost the same in both, you may just need to pass few more parameters.
@@ +818,3 @@
+
+ memcpy (&thiz->output_info, &info_from_caps, sizeof (GstVideoInfo));
+ memcpy (&info_aligned, &info_from_caps, sizeof (info_aligned));
Just assign the struct, no need of memcpy.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list