mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Implemented handling the standard component descriptor for AC3
This commit is contained in:
parent
df12c00ff8
commit
7d1b84a997
@ -1329,6 +1329,8 @@ Marc Hoppe <MarcHoppe@gmx.de>
|
|||||||
|
|
||||||
Michael Pennewiß <M.Pennewiss@ARD-Digital.de>
|
Michael Pennewiß <M.Pennewiss@ARD-Digital.de>
|
||||||
for pointing out that an empty EPG event means there is currently no running event
|
for pointing out that an empty EPG event means there is currently no running event
|
||||||
|
for advance information about the use of the standard component descriptor for AC3
|
||||||
|
(stream=4) on the German ARD channels
|
||||||
|
|
||||||
Marcus Mönnig <minibbjd@gmx.de>
|
Marcus Mönnig <minibbjd@gmx.de>
|
||||||
for adding some 3-letter language codes
|
for adding some 3-letter language codes
|
||||||
|
7
HISTORY
7
HISTORY
@ -5762,12 +5762,17 @@ Video Disk Recorder Revision History
|
|||||||
- Increased the time between checking the CAM status to 500ms to avoid problems
|
- Increased the time between checking the CAM status to 500ms to avoid problems
|
||||||
with some CAMs (reported by Arthur Konovalov).
|
with some CAMs (reported by Arthur Konovalov).
|
||||||
|
|
||||||
2008-04-19: Version 1.7.1
|
2008-05-01: Version 1.7.1
|
||||||
|
|
||||||
- Adapted the tuning code to the new DVBFE_SET_DELSYS API (thanks to Reinhard Nissl).
|
- Adapted the tuning code to the new DVBFE_SET_DELSYS API (thanks to Reinhard Nissl).
|
||||||
VDR now uses the driver from http://jusst.de/hg/multiproto_plus.
|
VDR now uses the driver from http://jusst.de/hg/multiproto_plus.
|
||||||
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||||
- Removed obsolete $(NCURSESLIB) from the Makefile.
|
- Removed obsolete $(NCURSESLIB) from the Makefile.
|
||||||
|
- Implemented handling the standard component descriptor for AC3 (stream=4), as it
|
||||||
|
will soon be used by the German ARD channels (thanks to Michael Pennewiß for
|
||||||
|
advance information about this change). The previously used "Premiere pseudo
|
||||||
|
standard" (stream=2, type=5) still works, but has apparently been wrongfully used
|
||||||
|
by broadcasters from the beginning.
|
||||||
|
|
||||||
2008-04-19: Version 1.6.0-2
|
2008-04-19: Version 1.6.0-2
|
||||||
|
|
||||||
|
4
eit.c
4
eit.c
@ -8,7 +8,7 @@
|
|||||||
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
||||||
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
|
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
|
||||||
*
|
*
|
||||||
* $Id: eit.c 2.1 2008/04/13 11:27:06 kls Exp $
|
* $Id: eit.c 2.2 2008/05/01 15:33:27 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "eit.h"
|
#include "eit.h"
|
||||||
@ -219,7 +219,7 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo
|
|||||||
SI::ComponentDescriptor *cd = (SI::ComponentDescriptor *)d;
|
SI::ComponentDescriptor *cd = (SI::ComponentDescriptor *)d;
|
||||||
uchar Stream = cd->getStreamContent();
|
uchar Stream = cd->getStreamContent();
|
||||||
uchar Type = cd->getComponentType();
|
uchar Type = cd->getComponentType();
|
||||||
if (1 <= Stream && Stream <= 3 && Type != 0) { // 1=video, 2=audio, 3=subtitles
|
if (1 <= Stream && Stream <= 4 && Type != 0) { // 1=video, 2=audio, 3=subtitles, 4=AC3
|
||||||
if (!Components)
|
if (!Components)
|
||||||
Components = new cComponents;
|
Components = new cComponents;
|
||||||
char buffer[Utf8BufSize(256)];
|
char buffer[Utf8BufSize(256)];
|
||||||
|
8
epg.c
8
epg.c
@ -7,7 +7,7 @@
|
|||||||
* Original version (as used in VDR before 1.3.0) written by
|
* Original version (as used in VDR before 1.3.0) written by
|
||||||
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
||||||
*
|
*
|
||||||
* $Id: epg.c 1.83 2008/02/16 16:09:12 kls Exp $
|
* $Id: epg.c 2.1 2008/05/01 14:53:55 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "epg.h"
|
#include "epg.h"
|
||||||
@ -88,8 +88,10 @@ void cComponents::SetComponent(int Index, uchar Stream, uchar Type, const char *
|
|||||||
tComponent *cComponents::GetComponent(int Index, uchar Stream, uchar Type)
|
tComponent *cComponents::GetComponent(int Index, uchar Stream, uchar Type)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < numComponents; i++) {
|
for (int i = 0; i < numComponents; i++) {
|
||||||
// In case of an audio stream the 'type' check actually just distinguishes between "normal" and "Dolby Digital":
|
if (components[i].stream == Stream && (
|
||||||
if (components[i].stream == Stream && (Stream != 2 || (components[i].type < 5) == (Type < 5))) {
|
Type == 0 || // don't care about the actual Type
|
||||||
|
Stream == 2 && (components[i].type < 5) == (Type < 5) // fallback "Dolby" component according to the "Premiere pseudo standard"
|
||||||
|
)) {
|
||||||
if (!Index--)
|
if (!Index--)
|
||||||
return &components[i];
|
return &components[i];
|
||||||
}
|
}
|
||||||
|
4
menu.c
4
menu.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: menu.c 2.1 2008/04/12 11:37:17 kls Exp $
|
* $Id: menu.c 2.2 2008/05/01 14:37:24 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -3147,6 +3147,8 @@ static void SetTrackDescriptions(int LiveChannel)
|
|||||||
break;
|
break;
|
||||||
case 3: cDevice::PrimaryDevice()->SetAvailableTrack(ttSubtitle, indexSubtitle++, 0, LiveChannel ? NULL : p->language, p->description);
|
case 3: cDevice::PrimaryDevice()->SetAvailableTrack(ttSubtitle, indexSubtitle++, 0, LiveChannel ? NULL : p->language, p->description);
|
||||||
break;
|
break;
|
||||||
|
case 4: cDevice::PrimaryDevice()->SetAvailableTrack(ttDolby, indexDolby++, 0, LiveChannel ? NULL : p->language, p->description);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: recording.c 1.162 2008/02/24 10:28:53 kls Exp $
|
* $Id: recording.c 2.1 2008/05/01 15:33:39 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -297,7 +297,9 @@ cRecordingInfo::cRecordingInfo(const cChannel *Channel, const cEvent *Event)
|
|||||||
for (int i = 0; i < MAXDPIDS; i++) {
|
for (int i = 0; i < MAXDPIDS; i++) {
|
||||||
const char *s = Channel->Dlang(i);
|
const char *s = Channel->Dlang(i);
|
||||||
if (*s) {
|
if (*s) {
|
||||||
tComponent *Component = Components->GetComponent(i, 2, 5);
|
tComponent *Component = Components->GetComponent(i, 4, 0); // AC3 component according to the DVB standard
|
||||||
|
if (!Component)
|
||||||
|
Component = Components->GetComponent(i, 2, 5); // fallback "Dolby" component according to the "Premiere pseudo standard"
|
||||||
if (!Component)
|
if (!Component)
|
||||||
Components->SetComponent(Components->NumComponents(), 2, 5, s, NULL);
|
Components->SetComponent(Components->NumComponents(), 2, 5, s, NULL);
|
||||||
else if (strlen(s) > strlen(Component->language))
|
else if (strlen(s) > strlen(Component->language))
|
||||||
|
4
vdr.5
4
vdr.5
@ -8,7 +8,7 @@
|
|||||||
.\" License as specified in the file COPYING that comes with the
|
.\" License as specified in the file COPYING that comes with the
|
||||||
.\" vdr distribution.
|
.\" vdr distribution.
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: vdr.5 2.1 2008/04/12 10:46:32 kls Exp $
|
.\" $Id: vdr.5 2.2 2008/05/01 15:33:49 kls Exp $
|
||||||
.\"
|
.\"
|
||||||
.TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files"
|
.TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@ -652,7 +652,7 @@ l l.
|
|||||||
<title> @is the title of the event
|
<title> @is the title of the event
|
||||||
<short text> @is the short text of the event (typically the name of the episode etc.)
|
<short text> @is the short text of the event (typically the name of the episode etc.)
|
||||||
<description> @is the description of the event (any '|' characters will be interpreted as newlines)
|
<description> @is the description of the event (any '|' characters will be interpreted as newlines)
|
||||||
<stream> @is the stream content (1 = video, 2 = audio, 3 = subtitles)
|
<stream> @is the stream content (1 = video, 2 = audio, 3 = subtitles, 4 = AC3)
|
||||||
<type> @is the stream type according to ETSI EN 300 468
|
<type> @is the stream type according to ETSI EN 300 468
|
||||||
<language> @is the three letter language code (optionally two codes, separated by '+')
|
<language> @is the three letter language code (optionally two codes, separated by '+')
|
||||||
<descr> @is the description of this stream component
|
<descr> @is the description of this stream component
|
||||||
|
Loading…
x
Reference in New Issue
Block a user