Allow files without any tracks in it (e.g. for chapters only). Patch by Steve Lhomme (steve ! lhomme () free ! fr) with modifications by myself.

This commit is contained in:
Moritz Bunkus 2005-01-15 15:26:11 +00:00
parent 860c15c144
commit 97803c2e6f
2 changed files with 13 additions and 14 deletions

View File

@ -1890,11 +1890,6 @@ parse_args(vector<string> args) {
} }
} }
if (files.size() == 0) {
usage();
mxexit();
}
if (no_linking && if (no_linking &&
((seguid_link_previous != NULL) || (seguid_link_next != NULL))) { ((seguid_link_previous != NULL) || (seguid_link_next != NULL))) {
mxwarn(_("'--link' must be used if '--link-to-previous' or " mxwarn(_("'--link' must be used if '--link-to-previous' or "
@ -1942,7 +1937,7 @@ main(int argc,
create_readers(); create_readers();
if (packetizers.size() == 0) if ((packetizers.size() == 0) && (files.size() != 0))
mxerror(_("No streams to output were found. Aborting.\n")); mxerror(_("No streams to output were found. Aborting.\n"));
create_next_output_file(); create_next_output_file();

View File

@ -584,14 +584,18 @@ render_headers(mm_io_c *rout) {
kax_infos->Render(*rout, true); kax_infos->Render(*rout, true);
kax_sh_main->IndexThis(*kax_infos, *kax_segment); kax_sh_main->IndexThis(*kax_infos, *kax_segment);
kax_tracks->Render(*rout, !hack_engaged(ENGAGE_NO_DEFAULT_HEADER_VALUES)); if (packetizers.size() > 0) {
kax_sh_main->IndexThis(*kax_tracks, *kax_segment); kax_tracks->Render(*rout,
!hack_engaged(ENGAGE_NO_DEFAULT_HEADER_VALUES));
kax_sh_main->IndexThis(*kax_tracks, *kax_segment);
// Reserve some small amount of space for header changes by the
// packetizers.
void_after_track_headers = new EbmlVoid;
void_after_track_headers->SetSize(1024);
void_after_track_headers->Render(*rout);
}
// Reserve some small amount of space for header changes by the
// packetizers.
void_after_track_headers = new EbmlVoid;
void_after_track_headers->SetSize(1024);
void_after_track_headers->Render(*rout);
} catch (exception &ex) { } catch (exception &ex) {
mxerror(_("The track headers could not be rendered correctly. %s.\n"), mxerror(_("The track headers could not be rendered correctly. %s.\n"),
BUGMSG); BUGMSG);
@ -1251,7 +1255,7 @@ add_tags_from_cue_chapters() {
uint32_t tuid; uint32_t tuid;
bool found; bool found;
if (tags_from_cue_chapters == NULL) if ((tags_from_cue_chapters == NULL) || (ptzrs_in_header_order.size() == 0))
return; return;
found = false; found = false;