mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
oggdemux: Answer POSITION query
This commit is contained in:
parent
3499d9ea64
commit
e0dee7f4c1
1 changed files with 14 additions and 1 deletions
|
@ -252,6 +252,19 @@ gst_ogg_pad_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
|
||||||
ogg = GST_OGG_DEMUX (parent);
|
ogg = GST_OGG_DEMUX (parent);
|
||||||
|
|
||||||
switch (GST_QUERY_TYPE (query)) {
|
switch (GST_QUERY_TYPE (query)) {
|
||||||
|
case GST_QUERY_POSITION:
|
||||||
|
{
|
||||||
|
GstFormat format;
|
||||||
|
GstOggPad *ogg_pad = GST_OGG_PAD (pad);
|
||||||
|
|
||||||
|
gst_query_parse_position (query, &format, NULL);
|
||||||
|
/* can only get position in time */
|
||||||
|
if (format != GST_FORMAT_TIME)
|
||||||
|
goto wrong_format;
|
||||||
|
|
||||||
|
gst_query_set_position (query, format, ogg_pad->position);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case GST_QUERY_DURATION:
|
case GST_QUERY_DURATION:
|
||||||
{
|
{
|
||||||
GstFormat format;
|
GstFormat format;
|
||||||
|
@ -385,7 +398,7 @@ done:
|
||||||
/* ERRORS */
|
/* ERRORS */
|
||||||
wrong_format:
|
wrong_format:
|
||||||
{
|
{
|
||||||
GST_DEBUG_OBJECT (ogg, "only query duration on TIME is supported");
|
GST_DEBUG_OBJECT (ogg, "only query position/duration on TIME is supported");
|
||||||
res = FALSE;
|
res = FALSE;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue