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>
|
||||
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>
|
||||
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
|
||||
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).
|
||||
VDR now uses the driver from http://jusst.de/hg/multiproto_plus.
|
||||
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||
- 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
|
||||
|
||||
|
4
eit.c
4
eit.c
@ -8,7 +8,7 @@
|
||||
* 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>.
|
||||
*
|
||||
* $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"
|
||||
@ -219,7 +219,7 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo
|
||||
SI::ComponentDescriptor *cd = (SI::ComponentDescriptor *)d;
|
||||
uchar Stream = cd->getStreamContent();
|
||||
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)
|
||||
Components = new cComponents;
|
||||
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
|
||||
* 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"
|
||||
@ -88,8 +88,10 @@ void cComponents::SetComponent(int Index, uchar Stream, uchar Type, const char *
|
||||
tComponent *cComponents::GetComponent(int Index, uchar Stream, uchar Type)
|
||||
{
|
||||
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 && (Stream != 2 || (components[i].type < 5) == (Type < 5))) {
|
||||
if (components[i].stream == Stream && (
|
||||
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--)
|
||||
return &components[i];
|
||||
}
|
||||
|
4
menu.c
4
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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"
|
||||
@ -3147,6 +3147,8 @@ static void SetTrackDescriptions(int LiveChannel)
|
||||
break;
|
||||
case 3: cDevice::PrimaryDevice()->SetAvailableTrack(ttSubtitle, indexSubtitle++, 0, LiveChannel ? NULL : p->language, p->description);
|
||||
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
|
||||
* 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"
|
||||
@ -297,7 +297,9 @@ cRecordingInfo::cRecordingInfo(const cChannel *Channel, const cEvent *Event)
|
||||
for (int i = 0; i < MAXDPIDS; i++) {
|
||||
const char *s = Channel->Dlang(i);
|
||||
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)
|
||||
Components->SetComponent(Components->NumComponents(), 2, 5, s, NULL);
|
||||
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
|
||||
.\" 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"
|
||||
.SH NAME
|
||||
@ -652,7 +652,7 @@ l l.
|
||||
<title> @is the title of the event
|
||||
<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)
|
||||
<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
|
||||
<language> @is the three letter language code (optionally two codes, separated by '+')
|
||||
<descr> @is the description of this stream component
|
||||
|
Loading…
Reference in New Issue
Block a user