/** @internal @This processes control commands on a ts check pipe. * * @param upipe description structure of the pipe * @param command type of command to process * @param args arguments of the command * @return false in case of error */ static int upipe_agg_control(struct upipe *upipe, int command, va_list args) { UBASE_HANDLED_RETURN(upipe_agg_control_output(upipe, command, args)); UBASE_HANDLED_RETURN(upipe_agg_control_output_size(upipe, command, args)); switch (command) { case UPIPE_SET_FLOW_DEF: { struct uref *flow_def = va_arg(args, struct uref *); return upipe_agg_set_flow_def(upipe, flow_def); } default: return UBASE_ERR_UNHANDLED; } }
/** @internal @This processes control commands on a ts check pipe. * * @param upipe description structure of the pipe * @param command type of command to process * @param args arguments of the command * @return false in case of error */ static int upipe_agg_control(struct upipe *upipe, int command, va_list args) { switch (command) { case UPIPE_REGISTER_REQUEST: { struct urequest *request = va_arg(args, struct urequest *); return upipe_agg_alloc_output_proxy(upipe, request); } case UPIPE_UNREGISTER_REQUEST: { struct urequest *request = va_arg(args, struct urequest *); return upipe_agg_free_output_proxy(upipe, request); } case UPIPE_GET_FLOW_DEF: { struct uref **p = va_arg(args, struct uref **); return upipe_agg_get_flow_def(upipe, p); } case UPIPE_SET_FLOW_DEF: { struct uref *flow_def = va_arg(args, struct uref *); return upipe_agg_set_flow_def(upipe, flow_def); } case UPIPE_GET_OUTPUT: { struct upipe **p = va_arg(args, struct upipe **); return upipe_agg_get_output(upipe, p); } case UPIPE_SET_OUTPUT: { struct upipe *output = va_arg(args, struct upipe *); return upipe_agg_set_output(upipe, output); } case UPIPE_GET_OUTPUT_SIZE: { unsigned int *output_size_p = va_arg(args, unsigned int *); return upipe_agg_get_output_size(upipe, output_size_p); } case UPIPE_SET_OUTPUT_SIZE: { unsigned int output_size = va_arg(args, unsigned int); return upipe_agg_set_output_size(upipe, output_size); } default: return UBASE_ERR_UNHANDLED; } }