Commit a9bb438d authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

[fix] use a temp var instead of an enum to read/write consistent sizes in the...

[fix] use a temp var instead of an enum to read/write consistent sizes in the split rendering bitstream header
parent 8c4042de
Loading
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ ivas_error split_rend_reader_open(
{
    SplitFileReadWrite *hSplitRendFileReadWrite;
    size_t header_len, h;
    int32_t tmp;
    char header[SPLIT_RENDERER_FRAME_HEADER_LEN] = "MAIN_SPLITH";
    char header_read[SPLIT_RENDERER_FRAME_HEADER_LEN];

@@ -104,16 +105,19 @@ ivas_error split_rend_reader_open(
    fread( &hSplitRendFileReadWrite->delay_ns, sizeof( uint32_t ), 1, hSplitRendFileReadWrite->file );

    /* read codec signalling */
    if ( fread( codec, sizeof( *codec ), 1, hSplitRendFileReadWrite->file ) != 1 )
    if ( fread( &tmp, sizeof( int32_t ), 1, hSplitRendFileReadWrite->file ) != 1 )
    {
        return IVAS_ERR_FAILED_FILE_READ;
    }
    *codec = (ISAR_SPLIT_REND_CODEC) tmp;

    /* read pose correction signalling */
    if ( fread( poseCorrection, sizeof( *poseCorrection ), 1, hSplitRendFileReadWrite->file ) != 1 )
    if ( fread( &tmp, sizeof( int32_t ), 1, hSplitRendFileReadWrite->file ) != 1 )
    {
        return IVAS_ERR_FAILED_FILE_READ;
    }
    *poseCorrection = (ISAR_SPLIT_REND_POSE_CORRECTION_MODE) tmp;

    /* read transport codec frame size signalling */
    if ( fread( codec_frame_size_ms, sizeof( *codec_frame_size_ms ), 1, hSplitRendFileReadWrite->file ) != 1 )
    {
@@ -161,6 +165,7 @@ ivas_error split_rend_writer_open(
{
    SplitFileReadWrite *hSplitRendFileReadWrite;
    size_t header_len, h;
    int32_t tmp;
    char header[SPLIT_RENDERER_FRAME_HEADER_LEN] = "MAIN_SPLITH";

    if ( filename == NULL )
@@ -193,13 +198,15 @@ ivas_error split_rend_writer_open(
    fwrite( &hSplitRendFileReadWrite->delay_ns, sizeof( int32_t ), 1, hSplitRendFileReadWrite->file );

    /* Write codec signalling */
    if ( fwrite( &codec, sizeof( codec ), 1, hSplitRendFileReadWrite->file ) != 1 )
    tmp = (int32_t) codec;
    if ( fwrite( &tmp, sizeof( int32_t ), 1, hSplitRendFileReadWrite->file ) != 1 )
    {
        return IVAS_ERR_FAILED_FILE_WRITE;
    }

    /* Write pose correction signalling */
    if ( fwrite( &poseCorrection, sizeof( poseCorrection ), 1, hSplitRendFileReadWrite->file ) != 1 )
    tmp = (int32_t) poseCorrection;
    if ( fwrite( &tmp, sizeof( int32_t ), 1, hSplitRendFileReadWrite->file ) != 1 )
    {
        return IVAS_ERR_FAILED_FILE_WRITE;
    }