[matroska] r1016 - trunk/DvdMenuXtractor
| Newsgroups | gmane.comp.multimedia.matroska.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: robux4
Date: 2005-01-06 17:42:05 +0300 (Thu, 06 Jan 2005)
New Revision: 1016
Modified:
trunk/DvdMenuXtractor/IFOFile.cpp
Log:
DMX: more pseudo-code for the clean cell handling
Modified: trunk/DvdMenuXtractor/IFOFile.cpp
===================================================================
--- trunk/DvdMenuXtractor/IFOFile.cpp 2005-01-06 13:40:47 UTC (rev 1015)
+++ trunk/DvdMenuXtractor/IFOFile.cpp 2005-01-06 14:42:05 UTC (rev 1016)
@@ -451,27 +451,53 @@
{
if (m_handle->vmgi_mat)
{
- if (m_handle->vmgi_mat->nr_of_vmgm_audio_streams)
- m_langAudio.Append(&m_handle->vmgi_mat->vmgm_audio_attr);
- if (m_handle->vmgi_mat->nr_of_vmgm_subp_streams)
- m_langSubs.Append(&m_handle->vmgi_mat->vmgm_subp_attr);
+ const vmgi_mat_t &vmgi_mat = *m_handle->vmgi_mat;
+ if (vmgi_mat.nr_of_vmgm_audio_streams)
+ m_langAudio.Append(&vmgi_mat.vmgm_audio_attr);
+ if (vmgi_mat.nr_of_vmgm_subp_streams)
+ m_langSubs.Append(&vmgi_mat.vmgm_subp_attr);
}
+
+ // _todo_ handle the list of menu cells with their ID and sectors
+ if (m_handle->menu_c_adt)
+ {
+ // add each cell in a list
+ // order this list according to vob ID, cell ID
+ // for each cell, find the duration (and start time) from all menu PGCs
+ }
}
else
{
if (m_handle->vtsi_mat)
{
- if (m_handle->vtsi_mat->nr_of_vtsm_audio_streams)
- m_langAudio.Append(&m_handle->vtsi_mat->vtsm_audio_attr);
- if (m_handle->vtsi_mat->nr_of_vtsm_subp_streams)
- m_langSubs.Append(&m_handle->vtsi_mat->vtsm_subp_attr);
-
+ const vtsi_mat_t & vtsi_mat = *m_handle->vtsi_mat;
+ if (vtsi_mat.nr_of_vtsm_audio_streams)
+ m_langAudio.Append(&vtsi_mat.vtsm_audio_attr);
+ if (vtsi_mat.nr_of_vtsm_subp_streams)
+ m_langSubs.Append(&vtsi_mat.vtsm_subp_attr);
+
uint8_t _stream;
- for (_stream=0; _stream < m_handle->vtsi_mat->nr_of_vts_audio_streams; _stream++)
- m_Audio.Append(&m_handle->vtsi_mat->vts_audio_attr[_stream]);
- for (_stream=0; _stream < m_handle->vtsi_mat->nr_of_vts_subp_streams; _stream++)
- m_Subs.Append(&m_handle->vtsi_mat->vts_subp_attr[_stream]);
+ for (_stream=0; _stream < vtsi_mat.nr_of_vts_audio_streams; _stream++)
+ m_Audio.Append(&vtsi_mat.vts_audio_attr[_stream]);
+ for (_stream=0; _stream < vtsi_mat.nr_of_vts_subp_streams; _stream++)
+ m_Subs.Append(&vtsi_mat.vts_subp_attr[_stream]);
}
+
+ // _todo_ handle the list of menu cells with their ID and sectors
+ if (m_handle->menu_c_adt)
+ {
+ // add each cell in a list
+ // order this list according to vob ID, cell ID
+ // for each cell, find the duration (and start time) from all menu PGCs
+ }
+
+ // _todo_ handle the list of cells with their ID and sectors
+ if (m_handle->vts_c_adt)
+ {
+ // add each cell in a list
+ // order this list according to vob ID, cell ID
+ // for each cell, find the duration (and start time) from all PGCs
+ }
}
}