summaryrefslogtreecommitdiff
path: root/PLUGINS.html
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-10-12 14:29:46 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-10-12 14:29:46 +0200
commitec5795bda2aae521c81e101ec109b8bc74e3e19d (patch)
treec113e0544ca27bd9f7c9e633b711142fbc556058 /PLUGINS.html
parent371b9be00bf3a6e301e9709bb9afd4294ea7a1dc (diff)
downloadvdr-ec5795bda2aae521c81e101ec109b8bc74e3e19d.tar.gz
vdr-ec5795bda2aae521c81e101ec109b8bc74e3e19d.tar.bz2
Reactivated full handling of second audio PID (even in 'Transfer Mode')
Diffstat (limited to 'PLUGINS.html')
-rw-r--r--PLUGINS.html48
1 files changed, 36 insertions, 12 deletions
diff --git a/PLUGINS.html b/PLUGINS.html
index 106bcc74..991092ee 100644
--- a/PLUGINS.html
+++ b/PLUGINS.html
@@ -21,18 +21,18 @@ VDR program and present itself to the user.
The <i>inside</i> interface provides the plugin code access to VDR's internal data
structures and allows it to hook itself into specific areas to perform special actions.
<p>
-<!--X1.1.8--><table width=100%><tr><td bgcolor=#0000AA>&nbsp;</td><td width=100%>
-Important modifications introduced in version 1.1.8 are marked like this.
-<!--X1.1.8--></td></tr></table>
-<!--X1.1.9--><table width=100%><tr><td bgcolor=#00AA00>&nbsp;</td><td width=100%>
+<!--X1.1.9--><table width=100%><tr><td bgcolor=#0000AA>&nbsp;</td><td width=100%>
Important modifications introduced in version 1.1.9 are marked like this.
<!--X1.1.9--></td></tr></table>
-<!--X1.1.11--><table width=100%><tr><td bgcolor=#AA0000>&nbsp;</td><td width=100%>
+<!--X1.1.11--><table width=100%><tr><td bgcolor=#00AA00>&nbsp;</td><td width=100%>
Important modifications introduced in version 1.1.11 are marked like this.
<!--X1.1.11--></td></tr></table>
-<!--X1.1.12--><table width=100%><tr><td bgcolor=#FF0000>&nbsp;</td><td width=100%>
+<!--X1.1.12--><table width=100%><tr><td bgcolor=#AA0000>&nbsp;</td><td width=100%>
Important modifications introduced in version 1.1.12 are marked like this.
<!--X1.1.12--></td></tr></table>
+<!--X1.1.13--><table width=100%><tr><td bgcolor=#FF0000>&nbsp;</td><td width=100%>
+Important modifications introduced in version 1.1.13 are marked like this.
+<!--X1.1.13--></td></tr></table>
<a name="Part I - The Outside Interface"><hr><center><h1>Part I - The Outside Interface</h1></center>
@@ -964,6 +964,18 @@ bool DevicePoll(cPoller &amp;Poller, int TimeoutMs = 0);
</pre></td></tr></table><p>
to determine whether the device is ready for further data.
+<!--X1.1.13--><table width=100%><tr><td bgcolor=#FF0000>&nbsp;</td><td width=100%>
+<p>
+If the player can provide more than a single audio track, it can implement the
+following functions to make them available:
+
+<p><table><tr><td bgcolor=#F0F0F0><pre><br>
+virtual int NumAudioTracks(void) const;
+virtual const char **GetAudioTracks(int *CurrentTrack = NULL);
+virtual void SetAudioTrack(int Index);
+</pre></td></tr></table><p>
+
+<!--X1.1.13--></td></tr></table>
<p>
TODO: PlayAudio()???
<p>
@@ -1182,9 +1194,9 @@ the <tt>cDvbDevice</tt>, which is used to access the DVB PCI cards.
If the new device can receive, it most likely needs to provide a way of
selecting which channel it shall tune to:
-<!--X1.1.9--><table width=100%><tr><td bgcolor=#00AA00>&nbsp;</td><td width=100%>
+<!--X1.1.9--><table width=100%><tr><td bgcolor=#0000AA>&nbsp;</td><td width=100%>
<p><table><tr><td bgcolor=#F0F0F0><pre><br>
-<!--X1.1.12--><table width=100%><tr><td bgcolor=#FF0000>&nbsp;</td><td width=100%>
+<!--X1.1.12--><table width=100%><tr><td bgcolor=#AA0000>&nbsp;</td><td width=100%>
virtual bool ProvidesSource(int Source) const;
<!--X1.1.12--></td></tr></table>
virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1, bool *NeedsDetachReceivers = NULL);
@@ -1195,6 +1207,20 @@ These functions will be called with the desired source or channel and shall retu
this device can provide the requested source or channel and whether tuning to it was successful,
repectively.
<!--X1.1.9--></td></tr></table>
+<!--X1.1.13--><table width=100%><tr><td bgcolor=#FF0000>&nbsp;</td><td width=100%>
+<p>
+<b>Audio selection</b>
+<p>
+If the device can provide more than a single audio track, it can implement the
+following functions to make them available:
+
+<p><table><tr><td bgcolor=#F0F0F0><pre><br>
+virtual int NumAudioTracksDevice(void) const;
+virtual const char **GetAudioTracksDevice(int *CurrentTrack = NULL) const;
+virtual void SetAudioTrackDevice(int Index);
+</pre></td></tr></table><p>
+
+<!--X1.1.13--></td></tr></table>
<p>
<b>Recording</b>
<p>
@@ -1204,7 +1230,7 @@ A device that can be used for recording must implement the functions
virtual bool SetPid(cPidHandle *Handle, int Type, bool On);
virtual bool OpenDvr(void);
virtual void CloseDvr(void);
-<!--X1.1.9--><table width=100%><tr><td bgcolor=#00AA00>&nbsp;</td><td width=100%>
+<!--X1.1.9--><table width=100%><tr><td bgcolor=#0000AA>&nbsp;</td><td width=100%>
virtual bool GetTSPacket(uchar *&amp;Data);
<!--X1.1.9--></td></tr></table>
</pre></td></tr></table><p>
@@ -1250,7 +1276,6 @@ virtual void SetVideoFormat(bool VideoFormat16_9);
virtual void SetVolumeDevice(int Volume);
</pre></td></tr></table><p>
-<!--X1.1.8--><table width=100%><tr><td bgcolor=#0000AA>&nbsp;</td><td width=100%>
<p>
<b>On Screen Display</b>
<p>
@@ -1266,7 +1291,6 @@ which must return a newly created object of a derived cOsdBase class that
implements the functions necessary to display OSD information on your device.
The caller of this function will delete the object as soon as it is no longer
needed.
-<!--X1.1.8--></td></tr></table>
<p>
<b>Initializing new devices</b>
@@ -1291,7 +1315,7 @@ shut down (delete) all devices when the program terminates. It is therefore
important that the devices are created on the heap, using the <tt>new</tt>
operator!
-<!--X1.1.11--><table width=100%><tr><td bgcolor=#AA0000>&nbsp;</td><td width=100%>
+<!--X1.1.11--><table width=100%><tr><td bgcolor=#00AA00>&nbsp;</td><td width=100%>
<hr><h2>Remote Control</h2>
<center><i><b>The joy of zapping!</b></i></center><p>