vcdimager-gui-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[VCDImager-GUI-devel] Re: Chapters related questions


From: Herbert Valerio Riedel
Subject: [VCDImager-GUI-devel] Re: Chapters related questions
Date: Tue, 28 Aug 2001 12:41:07 +0200 (CEST)

On Tue, 28 Aug 2001, delphi.stuff wrote:
> I have 4 questions related to chapters.
...and I have some answers related to your questions :-)

> 1) Will chapters work when there is no pbc information in the XML
> file, i.e. will, in using the next/prev button, the VCD player will go
> from one chapter to another instead of going from one track to another
> track ?
yes and no;

yes) that's the behaviour VCD1.1/2.0 SVCD1.0 HQVCD1.0 should have, as it's
(highly) recommended in the specs... i.e. to use entry points for chapter
jumping. (btw, this should even work in playlists, where the player should
advance to the next entry point, and only if no one is available to the
next play item, and if no play item left, then follow the next-target)

no) only few dvd players follow the specs on this issue; I assume pure
(s)vcd players do. I've heard philips players support it as well...

> 2) I have seen the "default-entry", what is it for ?
it's been added to reference the default entry point for a sequence item.

each sequence item has a mandatory entry point registered (as fallback
when players can't use the TOC or iso9660 fs to locate the track starts),
which points to the TOC starts.

nb; the default-entry is not the same as the <entry>0.000</entry>!

> 3) Are "<entry id="...">0.000</entry>" (when 0.000, in fact beginning)
> important ?
I would use either <entry-default> or the <sequence> instead of
<entry>0</entry> depending on what you want to express (the semantics may
be a bit different: the <sequence> item may be based on the TOC, while the
<default-entry> is based on the sector address contained in the
ENTRIES.VCD/SVD file...

> 4) In the following example, I would like to have a 5 sec wait between
> tracks and 0 sec wait between between chapters within the same track ?
> Is the example correct ? I am particularly thinking of:

>       <wait>0</wait>
>       <autowait>0</autowait>
>       <play-item ref="sequence-01"/>

> In this case, will the player play the entire "sequence-01" or only
> until the beginning of "chapter01-1" ? Should i put "chapter01-0"
> instead of "sequence-01" in the PBC info

the <wait> value tells, how may seconds to wait after each <play-item>
contained in the <playlist>.

a common misconception is the idea, that a entry-points are real
chapters... i.e. when you reference an <entry-point> point, it is played
from the entry point to the end of the sequence (but not to the next entry
of the same sequence !!)

e.g.: if you had something like

...
<sequence-item ...>
   <default-entry id="chapter-0" />
   <entry id="chapter-0">10.000</entry>
   <entry id="chapter-1">20.000</entry>
   <entry id="chapter-2">30.000</entry>
</sequence-item>
...
<playlist ...>
  <next ref="end" />
  <wait>2</wait>
  ...
  <play-item ref="chapter-0" />
  <play-item ref="chapter-1" />
  <play-item />
  <play-item ref="chapter-2" />
  <play-item ref="chapter-3" />
</playlist>
<endlist id="end" />
...

the behaviour when not pressing any button while playback will be the same
on all firmwares:

play the sequence

1. from start to end; wait 2s
2. from 10s to end; wait 4s (!)
3. from 20s to end; wait 2s
4. from 30s to end; wait 2s
5. jump to endlist and stop playback


the behaviour for a 100% compliant device when pressing the next button
would be quite confusing, e.g. if you had just entered the playlist, and
the chapter-0 line is being played while you press the NEXT button every 5
seconds you will get the following sequence:

1. from start to 5s
2. from 10s to 15s
3. from 20s to 25s
4. from 30s to 35s

5. from 10s to 15s
6. from 20s to 25s
7. from 30s to 35s

8. from 20s to 25s
9. from 30s to 35s

10. from 30s to 35s

11. jump to endlist and stop

while most dvd players might do the following:

1. from start to 5s
2. from 10s to 15s
3. from 20s to 25s
4. from 30s to 35s
5. jump to endlist and stop playback

looks ok so far for the non-compliant ones...but you'll see that when
pressing the NEXT button every 15s's you will get a confusing behaviour as
well:

1. from start to 15s
2. from 10s to 25s
3. from 20s to 35s
4. from 30s to 45s
5. jump to endlist and stop playback

(I won't do the same example for the compliant ones, as those are
confusing anyway with 5s and it doesn't get better with 15s NEXT intervals
;-)

the specs say clearly the following, about what to do, when the NEXT
function is triggered in a play list (and only a playlist!):

"Stop playing the current sequence or terminate the current wait state.
If there are any following entry points in hte Play Item, start play from
the next entry point, otherwise play any remaining Play Items on the PLay
List or else interpret the List given by Next List Offset"

a solution for this dilemma, is to use selection lists as a workaround,
entry points are to be ignored in them, while they allow to distinguis between
pressing the NEXT button <next>, and letting the play-item finish by
itself (<timeout>)... although this doesn't solve all problems, it's a
good working workaround and supported by most playing devices...






> Sorry, I am really very busy, I did not yet test v0.7.10... I will
> publish VCDImager Easy v0.9.7 in 2 or 3 days (this version still
> supports 0.6, 0.7 and standalone), then I think I will clean the code
> and only concentrate on the last VCDImager version, i.e VCDImager Easy
> v0.9.8 will work only with 0.7.10 but in a more efficient way.

> NB: I am at a stage where I need to take some decisions of what my GUI
> will allow to do with VCDImager. Your tool is so powerfull in the
> sense of what you can build with it... With the approach we (all the
> Win32 GUIs) have, allowing everything will make the GUI so damned
> complex for end users. I think one day we will have to move to a
> Cequadra VideoPack 4 like approach (canvas, boxes and links as lines).
> Allowing all the options to make a VCD work with a player is
> important, letting the end user build very complex (S)VCD structures
> with a not so good visual approach is a bad idea I think... I am
> wondering myself what kind of flexible enough structure I will let the
> end user do with my GUI, without having a too complex to
> use/understand GUI... What do you think ? Win32 developpers, as a
> team, may should start a development of a "canvas, boxes and links as
> lines" component ?


>   <sequence-items>
>     <sequence-item src="D:\Delphi\Current\GuiApp\Garbage-VCD-PAL1.mpg" 
> id="sequence-00">
>     </sequence-item>
>     <sequence-item src="D:\Delphi\Current\GuiApp\Garbage-VCD-PAL2.mpg" 
> id="sequence-01">
>       <entry id="chapter01-0">0.000</entry>
>       <entry id="chapter01-1">10.000</entry>
>       <entry id="chapter01-2">20.000</entry>
>     </sequence-item>
>     <sequence-item src="D:\Delphi\Current\GuiApp\Garbage-VCD-PAL3.mpg" 
> id="sequence-02">
>     </sequence-item>
>   </sequence-items>
>   <pbc>
>     <playlist id="playlist-000">
>       <next ref="playlist-001"/>
>       <return ref="playlist-end"/>
>       <wait>5</wait>
>       <autowait>0</autowait>
>       <play-item ref="sequence-00"/>
>     </playlist>
> //
> // NOT SURE OF THIS
> //
>     <playlist id="playlist-001">
>       <prev ref="playlist-000"/>
>       <next ref="playlist-002"/>
>       <return ref="playlist-end"/>
>       <wait>0</wait>
>       <autowait>0</autowait>
>       <play-item ref="sequence-01"/>
>     </playlist>
> //
>     <playlist id="playlist-002">
>       <prev ref="playlist-001"/>
>       <next ref="playlist-003"/>
>       <return ref="playlist-end"/>
>       <wait>0</wait>
>       <autowait>0</autowait>
>       <play-item ref="chapter01-1"/>
>     </playlist>
>     <playlist id="playlist-003">
>       <prev ref="playlist-002"/>
>       <next ref="playlist-004"/>
>       <return ref="playlist-end"/>
>       <wait>5</wait>
>       <autowait>0</autowait>
>       <play-item ref="chapter01-2"/>
>     </playlist>
>     <playlist id="playlist-004">
>       <prev ref="playlist-003"/>
>       <next ref="playlist-end"/>
>       <return ref="playlist-end"/>
>       <wait>5</wait>
>       <autowait>0</autowait>
>       <play-item ref="sequence-02"/>
>     </playlist>
>     <endlist id="playlist-end" rejected="true"/>
>   </pbc>
>

-- 
Herbert Valerio Riedel       /    Phone: (EUROPE) +43-1-58801-18840
Email: address@hidden       /    Finger address@hidden for GnuPG Public Key
GnuPG Key Fingerprint: 7BB9 2D6C D485 CE64 4748  5F65 4981 E064 883F 4142




reply via email to

[Prev in Thread] Current Thread [Next in Thread]