internal static int process_metadata(WavpackContext wpc, WavpackMetadata wpmd) { WavpackStream wps = wpc.stream; switch (wpmd.id) { case Defines.ID_DUMMY: { return(Defines.TRUE); } case Defines.ID_DECORR_TERMS: { return(UnpackUtils.read_decorr_terms(wps, wpmd)); } case Defines.ID_DECORR_WEIGHTS: { return(UnpackUtils.read_decorr_weights(wps, wpmd)); } case Defines.ID_DECORR_SAMPLES: { return(UnpackUtils.read_decorr_samples(wps, wpmd)); } case Defines.ID_ENTROPY_VARS: { return(WordsUtils.read_entropy_vars(wps, wpmd)); } case Defines.ID_HYBRID_PROFILE: { return(WordsUtils.read_hybrid_profile(wps, wpmd)); } case Defines.ID_FLOAT_INFO: { return(FloatUtils.read_float_info(wps, wpmd)); } case Defines.ID_INT32_INFO: { return(UnpackUtils.read_int32_info(wps, wpmd)); } case Defines.ID_CHANNEL_INFO: { return(UnpackUtils.read_channel_info(wpc, wpmd)); } case Defines.ID_SAMPLE_RATE: { return(UnpackUtils.read_sample_rate(wpc, wpmd)); } case Defines.ID_CONFIG_BLOCK: { return(UnpackUtils.read_config_info(wpc, wpmd)); } case Defines.ID_WV_BITSTREAM: { return(UnpackUtils.init_wv_bitstream(wpc, wpmd)); } case Defines.ID_SHAPING_WEIGHTS: case Defines.ID_WVC_BITSTREAM: case Defines.ID_WVX_BITSTREAM: { return(Defines.TRUE); } default: { if ((wpmd.id & Defines.ID_OPTIONAL_DATA) != 0) { return(Defines.TRUE); } else { return(Defines.FALSE); } } break; } }