static int __metadata_extractor_get_audio_codec(metadata_extractor_s *metadata, char **audio_codec);
static int __metadata_extractor_get_video_codec(metadata_extractor_s *metadata, char **video_codec);
static int __metadata_extractor_get_is_360(metadata_extractor_s *metadata, int *is_360);
+
#ifdef SUPPORT_GSPHERICAL_METADATA
-static int __metadata_extractor_get_is_stitched(metadata_extractor_s *metadata, int *is_stitched);
-static int __metadata_extractor_get_projection_type(metadata_extractor_s *metadata, char **projection_type);
-static int __metadata_extractor_get_stitching_software(metadata_extractor_s *metadata, char **stitching_software);
-static int __metadata_extractor_get_stereo_mode(metadata_extractor_s *metadata, char **stereo_mode);
-static int __metadata_extractor_get_source_count(metadata_extractor_s *metadata, int *source_count);
-static int __metadata_extractor_get_initial_view_heading_degrees(metadata_extractor_s *metadata, int32_t *initial_view_heading_degrees);
-static int __metadata_extractor_get_initial_view_pitch_degrees(metadata_extractor_s *metadata, int32_t *initial_view_pitch_degrees);
-static int __metadata_extractor_get_initial_view_roll_degrees(metadata_extractor_s *metadata, int32_t *initial_view_roll_degrees);
-static int __metadata_extractor_get_timestamp(metadata_extractor_s *metadata, int *timestamp);
-static int __metadata_extractor_get_full_pano_width_pixels(metadata_extractor_s *metadata, int *full_pano_width_pixels);
-static int __metadata_extractor_get_full_pano_height_pixels(metadata_extractor_s *metadata, int *full_pano_height_pixels);
-static int __metadata_extractor_get_cropped_area_image_width(metadata_extractor_s *metadata, int *cropped_area_image_width);
-static int __metadata_extractor_get_cropped_area_image_height(metadata_extractor_s *metadata, int *cropped_area_image_height);
-static int __metadata_extractor_get_cropped_area_left(metadata_extractor_s *metadata, int *cropped_area_left);
-static int __metadata_extractor_get_cropped_area_top(metadata_extractor_s *metadata, int *cropped_area_top);
+static int __metadata_extractor_get_is_stitched_v1(metadata_extractor_s *metadata, int *is_stitched);
+static int __metadata_extractor_get_projection_type_v1(metadata_extractor_s *metadata, char **projection_type);
+static int __metadata_extractor_get_stitching_software_v1(metadata_extractor_s *metadata, char **stitching_software);
+static int __metadata_extractor_get_stereo_mode_v1(metadata_extractor_s *metadata, char **stereo_mode);
+static int __metadata_extractor_get_source_count_v1(metadata_extractor_s *metadata, int *source_count);
+static int __metadata_extractor_get_initial_view_heading_degrees_v1(metadata_extractor_s *metadata, int32_t *initial_view_heading_degrees);
+static int __metadata_extractor_get_initial_view_pitch_degrees_v1(metadata_extractor_s *metadata, int32_t *initial_view_pitch_degrees);
+static int __metadata_extractor_get_initial_view_roll_degrees_v1(metadata_extractor_s *metadata, int32_t *initial_view_roll_degrees);
+static int __metadata_extractor_get_timestamp_v1(metadata_extractor_s *metadata, int *timestamp);
+static int __metadata_extractor_get_full_pano_width_pixels_v1(metadata_extractor_s *metadata, int *full_pano_width_pixels);
+static int __metadata_extractor_get_full_pano_height_pixels_v1(metadata_extractor_s *metadata, int *full_pano_height_pixels);
+static int __metadata_extractor_get_cropped_area_image_width_v1(metadata_extractor_s *metadata, int *cropped_area_image_width);
+static int __metadata_extractor_get_cropped_area_image_height_v1(metadata_extractor_s *metadata, int *cropped_area_image_height);
+static int __metadata_extractor_get_cropped_area_left_v1(metadata_extractor_s *metadata, int *cropped_area_left);
+static int __metadata_extractor_get_cropped_area_top_v1(metadata_extractor_s *metadata, int *cropped_area_top);
+
+static int __metadata_extractor_get_stereo_mode_v2(metadata_extractor_s *metadata, int *stereo_mode_v2);
+static int __metadata_extractor_get_proj_type_v2(metadata_extractor_s *metadata, int *proj_type_v2);
+static int __metadata_extractor_get_metadata_source_v2(metadata_extractor_s *metadata, char **metadata_source_v2);
+static int __metadata_extractor_get_pose_yaw_degrees_v2(metadata_extractor_s *metadata, int *pose_yaw_degrees_v2);
+static int __metadata_extractor_get_pose_pitch_degrees_v2(metadata_extractor_s *metadata, int *pose_pitch_degrees_v2);
+static int __metadata_extractor_get_pose_roll_degrees_v2(metadata_extractor_s *metadata, int *pose_roll_degrees_v2);
+static int __metadata_extractor_get_cbmp_layout_v2(metadata_extractor_s *metadata, int *cbmp_layout_v2);
+static int __metadata_extractor_get_cbmp_padding_v2(metadata_extractor_s *metadata, int *cbmp_padding_v2);
+static int __metadata_extractor_get_equi_projection_bounds_top_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_top_v2);
+static int __metadata_extractor_get_equi_projection_bounds_bottom_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_bottom_v2);
+static int __metadata_extractor_get_equi_projection_bounds_left_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_left_v2);
+static int __metadata_extractor_get_equi_projection_bounds_right_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_right_v2);
+
static int __metadata_extractor_get_ambisonic_type(metadata_extractor_s *metadata, int *ambisonic_type);
static int __metadata_extractor_get_ambisonic_format(metadata_extractor_s *metadata, int *ambisonic_format);
static int __metadata_extractor_get_ambisonic_order(metadata_extractor_s *metadata, int *ambisonic_order);
}
#ifdef SUPPORT_GSPHERICAL_METADATA
-static int __metadata_extractor_get_is_stitched(metadata_extractor_s *metadata, int *is_stitched)
+static int __metadata_extractor_get_is_stitched_v1(metadata_extractor_s *metadata, int *is_stitched)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_projection_type(metadata_extractor_s *metadata, char **projection_type)
+static int __metadata_extractor_get_projection_type_v1(metadata_extractor_s *metadata, char **projection_type)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
char *_projection_type = NULL;
int _tag_len = 0;
- ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_PROJECTION_TYPE, &_projection_type, &_tag_len, NULL);
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_PROJECTION_TYPE, &_projection_type, &_tag_len, NULL);
if (ret != FILEINFO_ERROR_NONE) {
metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
SAFE_FREE(err_attr_name);
return ret;
}
-static int __metadata_extractor_get_stitching_software(metadata_extractor_s *metadata, char **stitching_software)
+static int __metadata_extractor_get_stitching_software_v1(metadata_extractor_s *metadata, char **stitching_software)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
char *_stitching_software = NULL;
int _tag_len = 0;
- ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_STITCHING_SOFTWARE, &_stitching_software, &_tag_len, NULL);
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_STITCHING_SOFTWARE, &_stitching_software, &_tag_len, NULL);
if (ret != FILEINFO_ERROR_NONE) {
metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
SAFE_FREE(err_attr_name);
return ret;
}
-static int __metadata_extractor_get_stereo_mode(metadata_extractor_s *metadata, char **stereo_mode)
+static int __metadata_extractor_get_stereo_mode_v1(metadata_extractor_s *metadata, char **stereo_mode)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
char *_stereo_mode = NULL;
int _tag_len = 0;
- ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_STEREO_MODE, &_stereo_mode, &_tag_len, NULL);
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_STEREO_MODE, &_stereo_mode, &_tag_len, NULL);
if (ret != FILEINFO_ERROR_NONE) {
metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
SAFE_FREE(err_attr_name);
return ret;
}
-static int __metadata_extractor_get_source_count(metadata_extractor_s *metadata, int *source_count)
+static int __metadata_extractor_get_source_count_v1(metadata_extractor_s *metadata, int *source_count)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_initial_view_heading_degrees(metadata_extractor_s *metadata, int32_t *initial_view_heading_degrees)
+static int __metadata_extractor_get_initial_view_heading_degrees_v1(metadata_extractor_s *metadata, int32_t *initial_view_heading_degrees)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_initial_view_pitch_degrees(metadata_extractor_s *metadata, int32_t *initial_view_pitch_degrees)
+static int __metadata_extractor_get_initial_view_pitch_degrees_v1(metadata_extractor_s *metadata, int32_t *initial_view_pitch_degrees)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_initial_view_roll_degrees(metadata_extractor_s *metadata, int32_t *initial_view_roll_degrees)
+static int __metadata_extractor_get_initial_view_roll_degrees_v1(metadata_extractor_s *metadata, int32_t *initial_view_roll_degrees)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_timestamp(metadata_extractor_s *metadata, int *timestamp)
+static int __metadata_extractor_get_timestamp_v1(metadata_extractor_s *metadata, int *timestamp)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_full_pano_width_pixels(metadata_extractor_s *metadata, int *full_pano_width_pixels)
+static int __metadata_extractor_get_full_pano_width_pixels_v1(metadata_extractor_s *metadata, int *full_pano_width_pixels)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_full_pano_height_pixels(metadata_extractor_s *metadata, int *full_pano_height_pixels)
+static int __metadata_extractor_get_full_pano_height_pixels_v1(metadata_extractor_s *metadata, int *full_pano_height_pixels)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_cropped_area_image_width(metadata_extractor_s *metadata, int *cropped_area_image_width)
+static int __metadata_extractor_get_cropped_area_image_width_v1(metadata_extractor_s *metadata, int *cropped_area_image_width)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_cropped_area_image_height(metadata_extractor_s *metadata, int *cropped_area_image_height)
+static int __metadata_extractor_get_cropped_area_image_height_v1(metadata_extractor_s *metadata, int *cropped_area_image_height)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_cropped_area_left(metadata_extractor_s *metadata, int *cropped_area_left)
+static int __metadata_extractor_get_cropped_area_left_v1(metadata_extractor_s *metadata, int *cropped_area_left)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
-static int __metadata_extractor_get_cropped_area_top(metadata_extractor_s *metadata, int *cropped_area_top)
+static int __metadata_extractor_get_cropped_area_top_v1(metadata_extractor_s *metadata, int *cropped_area_top)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
char *err_attr_name = NULL;
return ret;
}
+
+static int __metadata_extractor_get_stereo_mode_v2(metadata_extractor_s *metadata, int *stereo_mode_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _stereo_mode_v2 = -1;
+ *stereo_mode_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_STEREO_MODE, &_stereo_mode_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *stereo_mode_v2 = _stereo_mode_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_metadata_source_v2(metadata_extractor_s *metadata, char **metadata_source_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ char *_metadata_source_v2 = NULL;
+ int _tag_len = 0;
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_METADATA_SOURCE, &_metadata_source_v2, &_tag_len, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *metadata_source_v2 = _metadata_source_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_proj_type_v2(metadata_extractor_s *metadata, int *proj_type_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _proj_type_v2 = -1;
+ *proj_type_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_PROJ_TYPE, &_proj_type_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *proj_type_v2 = _proj_type_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_pose_yaw_degrees_v2(metadata_extractor_s *metadata, int *pose_yaw_degrees_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _pose_yaw_degrees_v2 = -1;
+ *pose_yaw_degrees_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_POSE_YAW, &_pose_yaw_degrees_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *pose_yaw_degrees_v2 = _pose_yaw_degrees_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_pose_pitch_degrees_v2(metadata_extractor_s *metadata, int *pose_pitch_degrees_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _pose_pitch_degrees_v2 = -1;
+ *pose_pitch_degrees_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_POSE_PITCH, &_pose_pitch_degrees_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *pose_pitch_degrees_v2 = _pose_pitch_degrees_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_pose_roll_degrees_v2(metadata_extractor_s *metadata, int *pose_roll_degrees_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _pose_roll_degrees_v2 = -1;
+ *pose_roll_degrees_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_POSE_ROLL, &_pose_roll_degrees_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *pose_roll_degrees_v2 = _pose_roll_degrees_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_cbmp_layout_v2(metadata_extractor_s *metadata, int *cbmp_layout_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _cbmp_layout_v2 = -1;
+ *cbmp_layout_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_CBMP_LAYOUT, &_cbmp_layout_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *cbmp_layout_v2 = _cbmp_layout_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_cbmp_padding_v2(metadata_extractor_s *metadata, int *cbmp_padding_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _cbmp_padding_v2 = -1;
+ *cbmp_padding_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_CBMP_PADDING, &_cbmp_padding_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *cbmp_padding_v2 = _cbmp_padding_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_equi_projection_bounds_top_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_top_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _equi_projection_bounds_top_v2 = -1;
+ *equi_projection_bounds_top_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_TOP, &_equi_projection_bounds_top_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *equi_projection_bounds_top_v2 = _equi_projection_bounds_top_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_equi_projection_bounds_bottom_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_bottom_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _equi_projection_bounds_bottom_v2 = -1;
+ *equi_projection_bounds_bottom_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_BOTTOM, &_equi_projection_bounds_bottom_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *equi_projection_bounds_bottom_v2 = _equi_projection_bounds_bottom_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_equi_projection_bounds_left_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_left_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _equi_projection_bounds_left_v2 = -1;
+ *equi_projection_bounds_left_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_LEFT, &_equi_projection_bounds_left_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *equi_projection_bounds_left_v2 = _equi_projection_bounds_left_v2;
+
+ return ret;
+}
+
+static int __metadata_extractor_get_equi_projection_bounds_right_v2(metadata_extractor_s *metadata, int *equi_projection_bounds_right_v2)
+{
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+ char *err_attr_name = NULL;
+ int _equi_projection_bounds_right_v2 = -1;
+ *equi_projection_bounds_right_v2 = -1;
+
+ if ((!metadata) || (!metadata->tag_h)) {
+ metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
+ return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_RIGHT, &_equi_projection_bounds_right_v2, NULL);
+ if (ret != FILEINFO_ERROR_NONE) {
+ metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
+ SAFE_FREE(err_attr_name);
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+ }
+
+ *equi_projection_bounds_right_v2 = _equi_projection_bounds_right_v2;
+
+ return ret;
+}
#endif
static int __metadata_extractor_destroy_handle(metadata_extractor_s *metadata)
else if ((attribute > METADATA_HAS_AUDIO) && (attribute <= METADATA_ROTATE))
ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_TAG);
#ifdef SUPPORT_GSPHERICAL_METADATA
- else if (((attribute >= METADATA_360) && (attribute <= METADATA_360_CROPPED_AREA_TOP))
- || ((attribute >= METADATA_AMBISONIC_TYPE) && (attribute <= METADATA_AMBISONIC_ORDER)))
+ else if (((attribute >= METADATA_360) && (attribute <= METADATA_AMBISONIC_ORDER)))
ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_TAG);
#else
else if (attribute == METADATA_360)
break;
}
#ifdef SUPPORT_GSPHERICAL_METADATA
- case METADATA_360_STITCHED: {
+ case METADATA_360_V1_STITCHED: {
is_string = 0;
- ret = __metadata_extractor_get_is_stitched(_metadata, &i_value);
+ ret = __metadata_extractor_get_is_stitched_v1(_metadata, &i_value);
break;
}
- case METADATA_360_PROJECTION_TYPE: {
+ case METADATA_360_V1_PROJECTION_TYPE: {
is_string = 1;
- ret = __metadata_extractor_get_projection_type(_metadata, &s_value);
+ ret = __metadata_extractor_get_projection_type_v1(_metadata, &s_value);
break;
}
- case METADATA_360_STITCHING_SOFTWARE: {
+ case METADATA_360_V1_STITCHING_SOFTWARE: {
is_string = 1;
- ret = __metadata_extractor_get_stitching_software(_metadata, &s_value);
+ ret = __metadata_extractor_get_stitching_software_v1(_metadata, &s_value);
break;
}
- case METADATA_360_STEREO_MODE: {
+ case METADATA_360_V1_STEREO_MODE: {
is_string = 1;
- ret = __metadata_extractor_get_stereo_mode(_metadata, &s_value);
+ ret = __metadata_extractor_get_stereo_mode_v1(_metadata, &s_value);
break;
}
- case METADATA_360_SOURCE_COUNT: {
+ case METADATA_360_V1_SOURCE_COUNT: {
is_string = 0;
- ret = __metadata_extractor_get_source_count(_metadata, &i_value);
+ ret = __metadata_extractor_get_source_count_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_INIT_VIEW_HEADING: {
+ is_string = 0;
+ ret = __metadata_extractor_get_initial_view_heading_degrees_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_INIT_VIEW_PITCH: {
+ is_string = 0;
+ ret = __metadata_extractor_get_initial_view_pitch_degrees_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_INIT_VIEW_ROLL: {
+ is_string = 0;
+ ret = __metadata_extractor_get_initial_view_roll_degrees_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_TIMESTAMP: {
+ is_string = 0;
+ ret = __metadata_extractor_get_timestamp_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_FULL_PANO_WIDTH: {
+ is_string = 0;
+ ret = __metadata_extractor_get_full_pano_width_pixels_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_FULL_PANO_HEIGHT: {
+ is_string = 0;
+ ret = __metadata_extractor_get_full_pano_height_pixels_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_CROPPED_AREA_IMAGE_WIDTH: {
+ is_string = 0;
+ ret = __metadata_extractor_get_cropped_area_image_width_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_CROPPED_AREA_IMAGE_HEIGHT: {
+ is_string = 0;
+ ret = __metadata_extractor_get_cropped_area_image_height_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_CROPPED_AREA_LEFT: {
+ is_string = 0;
+ ret = __metadata_extractor_get_cropped_area_left_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V1_CROPPED_AREA_TOP: {
+ is_string = 0;
+ ret = __metadata_extractor_get_cropped_area_top_v1(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V2_STEREO_MODE: {
+ is_string = 0;
+ ret = __metadata_extractor_get_stereo_mode_v2(_metadata, &i_value);
+ break;
+ }
+ case METADATA_360_V2_METADATA_SOURCE: {
+ is_string = 1;
+ ret = __metadata_extractor_get_metadata_source_v2(_metadata, &s_value);
break;
}
- case METADATA_360_INIT_VIEW_HEADING: {
+ case METADATA_360_V2_PROJ_TYPE: {
is_string = 0;
- ret = __metadata_extractor_get_initial_view_heading_degrees(_metadata, &i_value);
+ ret = __metadata_extractor_get_proj_type_v2(_metadata, &i_value);
break;
}
- case METADATA_360_INIT_VIEW_PITCH: {
+ case METADATA_360_V2_POSE_YAW: {
is_string = 0;
- ret = __metadata_extractor_get_initial_view_pitch_degrees(_metadata, &i_value);
+ ret = __metadata_extractor_get_pose_yaw_degrees_v2(_metadata, &i_value);
break;
}
- case METADATA_360_INIT_VIEW_ROLL: {
+ case METADATA_360_V2_POSE_PITCH: {
is_string = 0;
- ret = __metadata_extractor_get_initial_view_roll_degrees(_metadata, &i_value);
+ ret = __metadata_extractor_get_pose_pitch_degrees_v2(_metadata, &i_value);
break;
}
- case METADATA_360_TIMESTAMP: {
+ case METADATA_360_V2_POSE_ROLL: {
is_string = 0;
- ret = __metadata_extractor_get_timestamp(_metadata, &i_value);
+ ret = __metadata_extractor_get_pose_roll_degrees_v2(_metadata, &i_value);
break;
}
- case METADATA_360_FULL_PANO_WIDTH: {
+ case METADATA_360_V2_CBMP_LAYOUT: {
is_string = 0;
- ret = __metadata_extractor_get_full_pano_width_pixels(_metadata, &i_value);
+ ret = __metadata_extractor_get_cbmp_layout_v2(_metadata, &i_value);
break;
}
- case METADATA_360_FULL_PANO_HEIGHT: {
+ case METADATA_360_V2_CBMP_PADDING: {
is_string = 0;
- ret = __metadata_extractor_get_full_pano_height_pixels(_metadata, &i_value);
+ ret = __metadata_extractor_get_cbmp_padding_v2(_metadata, &i_value);
break;
}
- case METADATA_360_CROPPED_AREA_IMAGE_WIDTH: {
+ case METADATA_360_V2_EQUI_BOUNDS_TOP: {
is_string = 0;
- ret = __metadata_extractor_get_cropped_area_image_width(_metadata, &i_value);
+ ret = __metadata_extractor_get_equi_projection_bounds_top_v2(_metadata, &i_value);
break;
}
- case METADATA_360_CROPPED_AREA_IMAGE_HEIGHT: {
+ case METADATA_360_V2_EQUI_BOUNDS_BOTTOM: {
is_string = 0;
- ret = __metadata_extractor_get_cropped_area_image_height(_metadata, &i_value);
+ ret = __metadata_extractor_get_equi_projection_bounds_bottom_v2(_metadata, &i_value);
break;
}
- case METADATA_360_CROPPED_AREA_LEFT: {
+ case METADATA_360_V2_EQUI_BOUNDS_LEFT: {
is_string = 0;
- ret = __metadata_extractor_get_cropped_area_left(_metadata, &i_value);
+ ret = __metadata_extractor_get_equi_projection_bounds_left_v2(_metadata, &i_value);
break;
}
- case METADATA_360_CROPPED_AREA_TOP: {
+ case METADATA_360_V2_EQUI_BOUNDS_RIGHT: {
is_string = 0;
- ret = __metadata_extractor_get_cropped_area_top(_metadata, &i_value);
+ ret = __metadata_extractor_get_equi_projection_bounds_right_v2(_metadata, &i_value);
break;
}
case METADATA_AMBISONIC_TYPE: {
char *audio_codec = NULL;
char *is_360 = NULL;
#ifdef SUPPORT_GSPHERICAL_METADATA
- char *is_stitched = NULL;
- char *stitching_software = NULL;
- char *projection_type = NULL;
- char *stereo_mode = NULL;
- char *source_count = NULL;
- char *initial_view_heading_degrees = NULL;
- char *initial_view_pitch_degrees = NULL;
- char *initial_view_roll_degrees = NULL;
- char *timestamp = NULL;
- char *full_pano_width = NULL;
- char *full_pano_height = NULL;
- char *cropped_area_image_width = NULL;
- char *cropped_area_image_height = NULL;
- char *cropped_area_left = NULL;
- char *cropped_area_top = NULL;
+ char *is_stitched_v1 = NULL;
+ char *stitching_software_v1 = NULL;
+ char *projection_type_v1 = NULL;
+ char *stereo_mode_v1 = NULL;
+ char *source_count_v1 = NULL;
+ char *initial_view_heading_degrees_v1 = NULL;
+ char *initial_view_pitch_degrees_v1 = NULL;
+ char *initial_view_roll_degrees_v1 = NULL;
+ char *timestamp_v1 = NULL;
+ char *full_pano_width_v1 = NULL;
+ char *full_pano_height_v1 = NULL;
+ char *cropped_area_image_width_v1 = NULL;
+ char *cropped_area_image_height_v1 = NULL;
+ char *cropped_area_left_v1 = NULL;
+ char *cropped_area_top_v1 = NULL;
+
+ char *stereo_mode_v2 = NULL;
+ char *metadata_source_v2 = NULL;
+ char *proj_type_v2 = NULL;
+ char *pose_yaw_degrees_v2 = NULL;
+ char *pose_pitch_degrees_v2 = NULL;
+ char *pose_roll_degrees_v2 = NULL;
+ char *cbmp_layout_v2 = NULL;
+ char *cbmp_padding_v2 = NULL;
+ char *equi_projection_bounds_top_v2 = NULL;
+ char *equi_projection_bounds_bottom_v2 = NULL;
+ char *equi_projection_bounds_left_v2 = NULL;
+ char *equi_projection_bounds_right_v2 = NULL;
+
char *ambisonic_type = NULL;
char *ambisonic_format = NULL;
char *ambisonic_order = NULL;
+
#endif
int idx = 0;
printf("is_360 = [%s]\n", is_360);
#ifdef SUPPORT_GSPHERICAL_METADATA
- metadata_extractor_get_metadata(metadata, METADATA_360_STITCHED, &is_stitched);
- printf("is_stitched = [%s]\n", is_stitched);
- metadata_extractor_get_metadata(metadata, METADATA_360_STITCHING_SOFTWARE, &stitching_software);
- printf("stitching_software = [%s]\n", stitching_software);
- metadata_extractor_get_metadata(metadata, METADATA_360_PROJECTION_TYPE, &projection_type);
- printf("projection_type = [%s]\n", projection_type);
- metadata_extractor_get_metadata(metadata, METADATA_360_STEREO_MODE, &stereo_mode);
- printf("stereo_mode = [%s]\n", stereo_mode);
- metadata_extractor_get_metadata(metadata, METADATA_360_SOURCE_COUNT, &source_count);
- printf("source_count = [%s]\n", source_count);
- metadata_extractor_get_metadata(metadata, METADATA_360_INIT_VIEW_HEADING, &initial_view_heading_degrees);
- printf("initial_view_heading_degrees = [%s]\n", initial_view_heading_degrees);
- metadata_extractor_get_metadata(metadata, METADATA_360_INIT_VIEW_PITCH, &initial_view_pitch_degrees);
- printf("initial_view_pitch_degrees = [%s]\n", initial_view_pitch_degrees);
- metadata_extractor_get_metadata(metadata, METADATA_360_INIT_VIEW_ROLL, &initial_view_roll_degrees);
- printf("initial_view_roll_degrees = [%s]\n", initial_view_roll_degrees);
- metadata_extractor_get_metadata(metadata, METADATA_360_TIMESTAMP, ×tamp);
- printf("timestamp = [%s]\n", timestamp);
- metadata_extractor_get_metadata(metadata, METADATA_360_FULL_PANO_WIDTH, &full_pano_width);
- printf("full_pano_width = [%s]\n", full_pano_width);
- metadata_extractor_get_metadata(metadata, METADATA_360_FULL_PANO_HEIGHT, &full_pano_height);
- printf("full_pano_height = [%s]\n", full_pano_height);
- metadata_extractor_get_metadata(metadata, METADATA_360_CROPPED_AREA_IMAGE_WIDTH, &cropped_area_image_width);
- printf("cropped_area_image_width = [%s]\n", cropped_area_image_width);
- metadata_extractor_get_metadata(metadata, METADATA_360_CROPPED_AREA_IMAGE_HEIGHT, &cropped_area_image_height);
- printf("cropped_area_image_height = [%s]\n", cropped_area_image_height);
- metadata_extractor_get_metadata(metadata, METADATA_360_CROPPED_AREA_LEFT, &cropped_area_left);
- printf("cropped_area_left = [%s]\n", cropped_area_left);
- metadata_extractor_get_metadata(metadata, METADATA_360_CROPPED_AREA_TOP, &cropped_area_top);
- printf("cropped_area_top = [%s]\n", cropped_area_top);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_STITCHED, &is_stitched_v1);
+ printf("is_stitched_v1 = [%s]\n", is_stitched_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_STITCHING_SOFTWARE, &stitching_software_v1);
+ printf("stitching_software_v1 = [%s]\n", stitching_software_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_PROJECTION_TYPE, &projection_type_v1);
+ printf("projection_type_v1 = [%s]\n", projection_type_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_STEREO_MODE, &stereo_mode_v1);
+ printf("stereo_mode_v1 = [%s]\n", stereo_mode_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_SOURCE_COUNT, &source_count_v1);
+ printf("source_count_v1 = [%s]\n", source_count_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_INIT_VIEW_HEADING, &initial_view_heading_degrees_v1);
+ printf("initial_view_heading_degrees_v1 = [%s]\n", initial_view_heading_degrees_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_INIT_VIEW_PITCH, &initial_view_pitch_degrees_v1);
+ printf("initial_view_pitch_degrees_v1 = [%s]\n", initial_view_pitch_degrees_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_INIT_VIEW_ROLL, &initial_view_roll_degrees_v1);
+ printf("initial_view_roll_degrees_v1 = [%s]\n", initial_view_roll_degrees_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_TIMESTAMP, ×tamp_v1);
+ printf("timestamp_v1 = [%s]\n", timestamp_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_FULL_PANO_WIDTH, &full_pano_width_v1);
+ printf("full_pano_width_v1 = [%s]\n", full_pano_width_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_FULL_PANO_HEIGHT, &full_pano_height_v1);
+ printf("full_pano_height_v1 = [%s]\n", full_pano_height_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_CROPPED_AREA_IMAGE_WIDTH, &cropped_area_image_width_v1);
+ printf("cropped_area_image_width_v1 = [%s]\n", cropped_area_image_width_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_CROPPED_AREA_IMAGE_HEIGHT, &cropped_area_image_height_v1);
+ printf("cropped_area_image_height_v1 = [%s]\n", cropped_area_image_height_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_CROPPED_AREA_LEFT, &cropped_area_left_v1);
+ printf("cropped_area_left_v1 = [%s]\n", cropped_area_left_v1);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V1_CROPPED_AREA_TOP, &cropped_area_top_v1);
+ printf("cropped_area_top_v1 = [%s]\n", cropped_area_top_v1);
+
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_STEREO_MODE, &stereo_mode_v2);
+ printf("stereo_mode_v2 = [%s]\n", stereo_mode_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_METADATA_SOURCE, &metadata_source_v2);
+ printf("metadata_source_v2 = [%s]\n", metadata_source_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_PROJ_TYPE, &proj_type_v2);
+ printf("proj_type_v2 = [%s]\n", proj_type_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_POSE_YAW, &pose_yaw_degrees_v2);
+ printf("pose_yaw_degrees_v2 = [%s]\n", pose_yaw_degrees_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_POSE_PITCH, &pose_pitch_degrees_v2);
+ printf("pose_pitch_degrees_v2 = [%s]\n", pose_pitch_degrees_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_POSE_ROLL, &pose_roll_degrees_v2);
+ printf("pose_roll_degrees_v2 = [%s]\n", pose_roll_degrees_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_CBMP_LAYOUT, &cbmp_layout_v2);
+ printf("cbmp_layout_v2 = [%s]\n", cbmp_layout_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_CBMP_PADDING, &cbmp_padding_v2);
+ printf("cbmp_padding_v2 = [%s]\n", cbmp_padding_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_EQUI_BOUNDS_TOP, &equi_projection_bounds_top_v2);
+ printf("equi_projection_bounds_top_v2 = [%s]\n", equi_projection_bounds_top_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_EQUI_BOUNDS_BOTTOM, &equi_projection_bounds_bottom_v2);
+ printf("equi_projection_bounds_bottom_v2 = [%s]\n", equi_projection_bounds_bottom_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_EQUI_BOUNDS_LEFT, &equi_projection_bounds_left_v2);
+ printf("equi_projection_bounds_left_v2 = [%s]\n", equi_projection_bounds_left_v2);
+ metadata_extractor_get_metadata(metadata, METADATA_360_V2_EQUI_BOUNDS_RIGHT, &equi_projection_bounds_right_v2);
+ printf("equi_projection_bounds_right_v2 = [%s]\n", equi_projection_bounds_right_v2);
+
metadata_extractor_get_metadata(metadata, METADATA_AMBISONIC_TYPE, &ambisonic_type);
printf("ambisonic_type = [%s]\n", ambisonic_type);
metadata_extractor_get_metadata(metadata, METADATA_AMBISONIC_FORMAT, &ambisonic_format);
SAFE_FREE(video_codec);
SAFE_FREE(is_360);
#ifdef SUPPORT_GSPHERICAL_METADATA
- SAFE_FREE(is_stitched);
- SAFE_FREE(stitching_software);
- SAFE_FREE(projection_type);
- SAFE_FREE(stereo_mode);
- SAFE_FREE(source_count);
- SAFE_FREE(initial_view_heading_degrees);
- SAFE_FREE(initial_view_pitch_degrees);
- SAFE_FREE(initial_view_roll_degrees);
- SAFE_FREE(timestamp);
- SAFE_FREE(full_pano_width);
- SAFE_FREE(full_pano_height);
- SAFE_FREE(cropped_area_image_width);
- SAFE_FREE(cropped_area_image_height);
- SAFE_FREE(cropped_area_left);
- SAFE_FREE(cropped_area_top);
+ SAFE_FREE(is_stitched_v1);
+ SAFE_FREE(stitching_software_v1);
+ SAFE_FREE(projection_type_v1);
+ SAFE_FREE(stereo_mode_v1);
+ SAFE_FREE(source_count_v1);
+ SAFE_FREE(initial_view_heading_degrees_v1);
+ SAFE_FREE(initial_view_pitch_degrees_v1);
+ SAFE_FREE(initial_view_roll_degrees_v1);
+ SAFE_FREE(timestamp_v1);
+ SAFE_FREE(full_pano_width_v1);
+ SAFE_FREE(full_pano_height_v1);
+ SAFE_FREE(cropped_area_image_width_v1);
+ SAFE_FREE(cropped_area_image_height_v1);
+ SAFE_FREE(cropped_area_left_v1);
+ SAFE_FREE(cropped_area_top_v1);
+
+ SAFE_FREE(stereo_mode_v2);
+ SAFE_FREE(metadata_source_v2);
+ SAFE_FREE(proj_type_v2);
+ SAFE_FREE(pose_yaw_degrees_v2);
+ SAFE_FREE(pose_pitch_degrees_v2);
+ SAFE_FREE(pose_roll_degrees_v2);
+ SAFE_FREE(cbmp_layout_v2);
+ SAFE_FREE(cbmp_padding_v2);
+ SAFE_FREE(equi_projection_bounds_top_v2);
+ SAFE_FREE(equi_projection_bounds_bottom_v2);
+ SAFE_FREE(equi_projection_bounds_left_v2);
+ SAFE_FREE(equi_projection_bounds_right_v2);
+
SAFE_FREE(ambisonic_type);
SAFE_FREE(ambisonic_format);
SAFE_FREE(ambisonic_order);