mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
videoconvert: move get_format around
This commit is contained in:
parent
6373827a40
commit
aedbe51043
1 changed files with 39 additions and 39 deletions
|
|
@ -393,6 +393,45 @@ static enum AVPixelFormat format_to_pix_fmt(uint32_t format)
|
|||
return AV_PIX_FMT_NONE;
|
||||
}
|
||||
|
||||
static int get_format(struct dir *dir, uint32_t *format, struct spa_rectangle *size,
|
||||
struct spa_fraction *framerate)
|
||||
{
|
||||
if (dir->have_format) {
|
||||
switch (dir->format.media_subtype) {
|
||||
case SPA_MEDIA_SUBTYPE_dsp:
|
||||
*format = dir->format.info.dsp.format;
|
||||
*size = SPA_RECTANGLE(640, 480);
|
||||
*framerate = SPA_FRACTION(30, 1);
|
||||
break;
|
||||
case SPA_MEDIA_SUBTYPE_raw:
|
||||
*format = dir->format.info.raw.format;
|
||||
*size = dir->format.info.raw.size;
|
||||
*framerate = dir->format.info.raw.framerate;
|
||||
break;
|
||||
case SPA_MEDIA_SUBTYPE_mjpg:
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = dir->format.info.mjpg.size;
|
||||
*framerate = dir->format.info.mjpg.framerate;
|
||||
break;
|
||||
case SPA_MEDIA_SUBTYPE_h264:
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = dir->format.info.h264.size;
|
||||
*framerate = dir->format.info.h264.framerate;
|
||||
break;
|
||||
default:
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = SPA_RECTANGLE(640, 480);
|
||||
*framerate = SPA_FRACTION(30, 1);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = SPA_RECTANGLE(640, 480);
|
||||
*framerate = SPA_FRACTION(30, 1);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int init_port(struct impl *this, enum spa_direction direction, uint32_t port_id,
|
||||
bool is_dsp, bool is_monitor, bool is_control)
|
||||
{
|
||||
|
|
@ -792,45 +831,6 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int get_format(struct dir *dir, uint32_t *format, struct spa_rectangle *size,
|
||||
struct spa_fraction *framerate)
|
||||
{
|
||||
if (dir->have_format) {
|
||||
switch (dir->format.media_subtype) {
|
||||
case SPA_MEDIA_SUBTYPE_dsp:
|
||||
*format = dir->format.info.dsp.format;
|
||||
*size = SPA_RECTANGLE(640, 480);
|
||||
*framerate = SPA_FRACTION(30, 1);
|
||||
break;
|
||||
case SPA_MEDIA_SUBTYPE_raw:
|
||||
*format = dir->format.info.raw.format;
|
||||
*size = dir->format.info.raw.size;
|
||||
*framerate = dir->format.info.raw.framerate;
|
||||
break;
|
||||
case SPA_MEDIA_SUBTYPE_mjpg:
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = dir->format.info.mjpg.size;
|
||||
*framerate = dir->format.info.mjpg.framerate;
|
||||
break;
|
||||
case SPA_MEDIA_SUBTYPE_h264:
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = dir->format.info.h264.size;
|
||||
*framerate = dir->format.info.h264.framerate;
|
||||
break;
|
||||
default:
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = SPA_RECTANGLE(640, 480);
|
||||
*framerate = SPA_FRACTION(30, 1);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
*format = SPA_VIDEO_FORMAT_I420;
|
||||
*size = SPA_RECTANGLE(640, 480);
|
||||
*framerate = SPA_FRACTION(30, 1);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void free_decoder(struct impl *this)
|
||||
{
|
||||
avcodec_free_context(&this->decoder.context);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue