- _color_range = static_cast<AVColorRange> (node->optional_number_child<int>("ColorRange").get_value_or (AVCOL_RANGE_UNSPECIFIED));
- _color_primaries = static_cast<AVColorPrimaries> (node->optional_number_child<int>("ColorPrimaries").get_value_or (AVCOL_PRI_UNSPECIFIED));
- _color_trc = static_cast<AVColorTransferCharacteristic> (
- node->optional_number_child<int>("ColorTransferCharacteristic").get_value_or (AVCOL_TRC_UNSPECIFIED)
- );
- _colorspace = static_cast<AVColorSpace> (node->optional_number_child<int>("Colorspace").get_value_or (AVCOL_SPC_UNSPECIFIED));
+ _color_range = get_optional_enum<AVColorRange>(node, "ColorRange");
+ _color_primaries = get_optional_enum<AVColorPrimaries>(node, "ColorPrimaries");
+ _color_trc = get_optional_enum<AVColorTransferCharacteristic>(node, "ColorTransferCharacteristic");
+ _colorspace = get_optional_enum<AVColorSpace>(node, "Colorspace");