Skip to content

Commit

Permalink
Merge pull request #2142 from JeromeMartinez/MXF_Refactoring
Browse files Browse the repository at this point in the history
MXF: better support of frame wrapped IAB
  • Loading branch information
JeromeMartinez authored Nov 7, 2024
2 parents 8a81fe9 + c0be32c commit 26e5ad9
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
14 changes: 13 additions & 1 deletion Source/MediaInfo/Audio/File_Iab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,18 @@ void File_Iab::Streams_Fill()
Fill(Stream_Audio, 0, Audio_FrameRate, Iab_FrameRate[FrameRate]);
}


//***************************************************************************
// Buffer - Global
//***************************************************************************

//---------------------------------------------------------------------------
void File_Iab::Read_Buffer_Continue()
{
if (Frame_Count)
Skip_XX(Element_Size, "Data"); // TODO: management of frame wrapped IAB
}

//***************************************************************************
// Buffer - Per element
//***************************************************************************
Expand Down Expand Up @@ -719,7 +731,7 @@ void File_Iab::ObjectDefinition()
Skip_XX(Pos-Element_Offset, "AudioDescriptionText");
}
Skip_B1( "SubElementCount");
Element_ThisIsAList();
//Element_ThisIsAList(); // TODO: handle SubElements here
}

//---------------------------------------------------------------------------
Expand Down
3 changes: 3 additions & 0 deletions Source/MediaInfo/Audio/File_Iab.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ private :
//Streams management
void Streams_Fill();

//Buffer - Global
void Read_Buffer_Continue();

//Buffer - Per element
void Header_Parse();
void Data_Parse();
Expand Down
4 changes: 3 additions & 1 deletion Source/MediaInfo/Multiple/File_Mxf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@ static const char* Mxf_EssenceContainer_Mapping(int64u Code_lo)
case Labels::MXFGCImmersiveAudio:
switch ((int16u)Code_lo) {
case 0x0101: return "Clip";
case 0x0102: return "Frame";
}
break;
case Labels::MXFGCJPEGXSPictures:
Expand Down Expand Up @@ -14498,7 +14499,8 @@ void File_Mxf::ChooseParser__FromEssence(const essences::iterator &Essence, cons
case Essences::ALaw_Clip:
case Essences::ALaw_Custom: ChooseParser_Alaw(Essence, Descriptor); break;
case Essences::IAB_Temp:
case Essences::IAB: ChooseParser_Iab(Essence, Descriptor); break;
case Essences::IAB_Clip:
case Essences::IAB_Frame: ChooseParser_Iab(Essence, Descriptor); break;
case Essences::MGA_Frame:
case Essences::MGA_Clip: ChooseParser_Mga(Essence, Descriptor); break;
case Essences::VBI_Frame: ChooseParser_Vbi(Essence, Descriptor); break;
Expand Down
4 changes: 3 additions & 1 deletion Source/MediaInfo/Multiple/File_Mxf_Automated.h
Original file line number Diff line number Diff line change
Expand Up @@ -3833,6 +3833,7 @@ C(0D01030116000A00, "A-law")
C(0D01030116000D00, "IAB")
C(0D01030116000E00, "MGA")
C(0D01030116000F00, "MGA")
C(0D01030116001000, "IAB")
C(0D010301167F107F, "IAB")
C(0D01030117000000, "GC Data")
C(0D01030117000100, "VBI")
Expand Down Expand Up @@ -9077,9 +9078,10 @@ U(0D01030116000700, MPEGA_Custom)
U(0D01030116000800, ALaw_Frame)
U(0D01030116000900, ALaw_Clip)
U(0D01030116000A00, ALaw_Custom)
U(0D01030116000D00, IAB)
U(0D01030116000D00, IAB_Clip)
U(0D01030116000E00, MGA_Frame)
U(0D01030116000F00, MGA_Clip)
U(0D01030116001000, IAB_Frame)
U(0D010301167F107F, IAB_Temp)
// 17 - GC Data
U(0D01030117000100, VBI_Frame)
Expand Down

0 comments on commit 26e5ad9

Please sign in to comment.