Commit 7cdeb373 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

write out the edited metadata

parent dd98e38b
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1993,7 +1993,10 @@ ivas_error ivas_init_decoder(
           st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ||
           st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM
#ifdef OBJ_EDITING_DECODER
           || st_ivas->renderer_type == RENDERER_BINAURAL_OBJECTS_TD || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM
           || st_ivas->renderer_type == RENDERER_BINAURAL_OBJECTS_TD 
		   || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC 
		   || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM
		   || st_ivas->renderer_type == RENDERER_DISABLE
#endif
           ) )
    {
+55 −8
Original line number Diff line number Diff line
@@ -2162,6 +2162,22 @@ ivas_error IVAS_DEC_GetObjectMetadata(
        metadata->non_diegetic_flag = 0;
    }
    else
    {
#ifdef OBJ_EDITING_DECODER
		if ( st_ivas->ism_mode == ISM_MODE_DISC || st_ivas->ism_mode == ISM_SBA_MODE_DISC )
		{
			if ( st_ivas->hIsmRendererData->has_been_edited )
			{
				metadata->azimuth = st_ivas->hIsmRendererData->edited_azimuth[objectIdx];
				metadata->elevation = st_ivas->hIsmRendererData->edited_azimuth[objectIdx];
				metadata->radius = st_ivas->hIsmRendererData->edited_radius[objectIdx];
				metadata->yaw = st_ivas->hIsmRendererData->edited_yaw[objectIdx];
				metadata->pitch = st_ivas->hIsmRendererData->edited_pitch[objectIdx];
				metadata->spread = 0.f;
				metadata->gainFactor = st_ivas->hIsmRendererData->edited_gains[objectIdx];
				metadata->non_diegetic_flag = st_ivas->hIsmRendererData->non_diegetic_flag[objectIdx];
			}
			else
			{
				metadata->azimuth = hIsmMeta->azimuth;
				metadata->elevation = hIsmMeta->elevation;
@@ -2172,6 +2188,37 @@ ivas_error IVAS_DEC_GetObjectMetadata(
				metadata->gainFactor = 1.f;
				metadata->non_diegetic_flag = hIsmMeta->non_diegetic_flag;
			}
		}
		else if ( st_ivas->ism_mode == ISM_MODE_DISC )
		{
			if ( st_ivas->hParamIsmDec->has_been_edited )
			{
				metadata->azimuth = st_ivas->hParamIsmDec->edited_azimuth_values[objectIdx];
				metadata->elevation = st_ivas->hParamIsmDec->edited_elevation_values[objectIdx];
			}
			else
			{
				metadata->azimuth = hIsmMeta->azimuth;
				metadata->elevation = hIsmMeta->elevation;
			}
			metadata->radius = hIsmMeta->radius;
			metadata->yaw = hIsmMeta->yaw;
			metadata->pitch = hIsmMeta->pitch;
			metadata->spread = 0.f;
			metadata->gainFactor = 1.f;
			metadata->non_diegetic_flag = hIsmMeta->non_diegetic_flag;
		}
#else
		metadata->azimuth = hIsmMeta->azimuth;
		metadata->elevation = hIsmMeta->elevation;
		metadata->radius = hIsmMeta->radius;
		metadata->yaw = hIsmMeta->yaw;
		metadata->pitch = hIsmMeta->pitch;
		metadata->spread = 0.f;
		metadata->gainFactor = 1.f;
		metadata->non_diegetic_flag = hIsmMeta->non_diegetic_flag;
#endif
    }

    return IVAS_ERR_OK;
}