mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
pod: make format like other PODs
This commit is contained in:
parent
e2d930e394
commit
f02f93cda9
13 changed files with 125 additions and 87 deletions
|
|
@ -326,13 +326,14 @@ enum_filter_format (const SpaFormat *filter, unsigned int index)
|
|||
{
|
||||
SpaVideoFormat video_format = SPA_VIDEO_FORMAT_UNKNOWN;
|
||||
|
||||
if ((filter->media_type == SPA_MEDIA_TYPE_VIDEO || filter->media_type == SPA_MEDIA_TYPE_IMAGE)) {
|
||||
if (filter->media_subtype == SPA_MEDIA_SUBTYPE_RAW) {
|
||||
if ((filter->body.media_type == SPA_MEDIA_TYPE_VIDEO ||
|
||||
filter->body.media_type == SPA_MEDIA_TYPE_IMAGE)) {
|
||||
if (filter->body.media_subtype == SPA_MEDIA_SUBTYPE_RAW) {
|
||||
SpaPODProp *p;
|
||||
unsigned int n_values;
|
||||
const uint32_t *values;
|
||||
|
||||
if (!(p = spa_pod_object_body_find_prop (&filter->obj.body, filter->obj.pod.size, SPA_PROP_ID_VIDEO_FORMAT)))
|
||||
if (!(p = spa_format_find_prop (filter, SPA_PROP_ID_VIDEO_FORMAT)))
|
||||
return SPA_VIDEO_FORMAT_UNKNOWN;
|
||||
|
||||
if (p->body.value.type != SPA_POD_TYPE_INT)
|
||||
|
|
@ -487,8 +488,8 @@ next_fmtdesc:
|
|||
if (video_format == SPA_VIDEO_FORMAT_UNKNOWN)
|
||||
return SPA_RESULT_ENUM_END;
|
||||
|
||||
info = find_format_info_by_media_type (filter->media_type,
|
||||
filter->media_subtype,
|
||||
info = find_format_info_by_media_type (filter->body.media_type,
|
||||
filter->body.media_subtype,
|
||||
video_format,
|
||||
0);
|
||||
if (info == NULL)
|
||||
|
|
@ -516,7 +517,7 @@ next_frmsize:
|
|||
SpaPODProp *p;
|
||||
|
||||
/* check if we have a fixed frame size */
|
||||
if (!(p = spa_pod_object_body_find_prop (&filter->obj.body, filter->obj.pod.size, SPA_PROP_ID_VIDEO_SIZE)))
|
||||
if (!(p = spa_format_find_prop (filter, SPA_PROP_ID_VIDEO_SIZE)))
|
||||
goto do_frmsize;
|
||||
|
||||
if (p->body.value.type != SPA_POD_TYPE_RECTANGLE)
|
||||
|
|
@ -549,7 +550,7 @@ do_frmsize:
|
|||
unsigned int i, n_values;
|
||||
|
||||
/* check if we have a fixed frame size */
|
||||
if (!(p = spa_pod_object_body_find_prop (&filter->obj.body, filter->obj.pod.size, SPA_PROP_ID_VIDEO_SIZE)))
|
||||
if (!(p = spa_format_find_prop (filter, SPA_PROP_ID_VIDEO_SIZE)))
|
||||
goto have_size;
|
||||
|
||||
range = p->body.flags & SPA_POD_PROP_RANGE_MASK;
|
||||
|
|
@ -652,7 +653,7 @@ have_size:
|
|||
unsigned int i, n_values;
|
||||
const SpaFraction step = { 1, 1 }, *values;
|
||||
|
||||
if (!(p = spa_pod_object_body_find_prop (&filter->obj.body, filter->obj.pod.size, SPA_PROP_ID_VIDEO_FRAMERATE)))
|
||||
if (!(p = spa_format_find_prop (filter, SPA_PROP_ID_VIDEO_FRAMERATE)))
|
||||
goto have_framerate;
|
||||
|
||||
if (p->body.value.type != SPA_POD_TYPE_FRACTION)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue