[Bug 687183] playbin: caps negotation if VIDEO_FORMAT is unknown
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Nov 1 15:54:07 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=687183
GStreamer | gst-plugins-base | git
--- Comment #49 from sreerenj <bsreerenj at gmail.com> 2013-11-01 22:54:00 UTC ---
(In reply to comment #48)
> Review of attachment 257412 [details]:
>
> ::: gst-libs/gst/video/gstvideodecoder.c
> @@ +2941,3 @@
> gst_video_info_init (&vinfo);
> + if (outcaps)
> + gst_video_info_from_caps (&vinfo, outcaps);
>
> The vinfo is probably used some lines below, not sure if the default values in
> there make sense or something else should be done instead
>
I think this is correct. Because the vinfo.size is zero in both places where it
uses and that is what we needed. right?
> @@ +3198,3 @@
> GST_VIDEO_DECODER_STREAM_LOCK (decoder);
> + if (G_UNLIKELY (!decoder->priv->output_state
> + || decoder->priv->output_state_changed
>
> How can you even allocate a buffer without knowing the output format? I think
> this looks wrong.
I think there is no issue here also :). As per our previous discussions in irc,
we can create buffer pool with out knowing the caps. Which means the upstream
element would just return a bufferpool object. Downstream element can create
the pool using its internal mem_allocator which doesn't need to provide the
exact format but only the chroma type.
>Negotiation shouldn't be allowed to be triggered from buffer
> allocation if the output format is not known yet, it should be triggered
> elsewhere.
No . We should allow negotiation triggering from buffer allocation point itself
so that we will get the buffer pool object from upstream.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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