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

Merge branch...

Merge branch 'float-1502-sr-bitstream-file-header-can-attempt-to-read-write-inconsistent-data-sizes' into 'main'

Resolve "SR bitstream file header can attempt to read/write inconsistent data sizes"

See merge request !2487
parents b223590e f3ceb521
Loading
Loading
Loading
Loading
Loading
+10 −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,18 @@ 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 )
@@ -165,6 +168,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 )
@@ -197,13 +201,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;
    }