Added support for HEVC-video and AC-4-audio

This commit is contained in:
Klaus Schmidinger 2020-06-23 09:27:09 +02:00
parent 8bd2ed1494
commit 7630f579e1
6 changed files with 18 additions and 7 deletions

View File

@ -2440,6 +2440,7 @@ Christoph Haubrich <christoph1.haubrich@arcor.de>
"Edit recording" menu
for suggesting to add a confirmation before renaming a recording to its folder name
for reporting a problem with data loss in case renaming a recording fails
for adding support for HEVC-video and AC-4-audio
Pekka Mauno <pekka.mauno@iki.fi>
for fixing cSchedule::GetFollowingEvent() in case there is currently no present

View File

@ -9484,3 +9484,4 @@ Video Disk Recorder Revision History
replacing every occurrence of 'pkg-config' with '$(PKG_CONFIG)', as can be seen in
the Makefiles of the plugins that come with the VDR source.
- Fixed a typo in svdrp.c (thanks to Tobias Grimm).
- Added support for HEVC-video and AC-4-audio (thanks to Christoph Haubrich).

8
eit.c
View File

@ -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 4.9 2020/05/04 13:02:14 kls Exp $
* $Id: eit.c 4.10 2020/06/23 09:27:09 kls Exp $
*/
#include "eit.h"
@ -302,11 +302,15 @@ cEIT::cEIT(cSectionSyncerHash &SectionSyncerHash, int Source, u_char Tid, const
case SI::ComponentDescriptorTag: {
SI::ComponentDescriptor *cd = (SI::ComponentDescriptor *)d;
uchar Stream = cd->getStreamContent();
uchar Ext = cd->getStreamContentExt();
uchar Type = cd->getComponentType();
if (1 <= Stream && Stream <= 6 && Type != 0) { // 1=MPEG2-video, 2=MPEG1-audio, 3=subtitles, 4=AC3-audio, 5=H.264-video, 6=HEAAC-audio
if ((1 <= Stream && Stream <= 6 && Type != 0) // 1=MPEG2-video, 2=MPEG1-audio, 3=subtitles, 4=AC3-audio, 5=H.264-video, 6=HEAAC-audio
|| (Stream == 9 && Ext < 2)) { // 0x09=HEVC-video, 0x19=AC-4-audio
if (!Components)
Components = new cComponents;
char buffer[Utf8BufSize(256)];
if (Stream == 9)
Stream |= Ext << 4;
Components->SetComponent(Components->NumComponents(), Stream, Type, I18nNormalizeLanguageCode(cd->languageCode), cd->description.getText(buffer, sizeof(buffer)));
}
}

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: descriptor.c 4.2 2020/05/14 21:21:03 kls Exp $
* $Id: descriptor.c 4.3 2020/06/23 09:27:09 kls Exp $
* *
***************************************************************************/
@ -567,6 +567,10 @@ int ComponentDescriptor::getStreamContent() const {
return s->stream_content;
}
int ComponentDescriptor::getStreamContentExt() const {
return s->stream_content_ext;
}
int ComponentDescriptor::getComponentType() const {
return s->component_type;
}

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: descriptor.h 4.1 2019/03/15 16:12:09 kls Exp $
* $Id: descriptor.h 4.2 2020/06/23 09:27:09 kls Exp $
* *
***************************************************************************/
@ -295,6 +295,7 @@ private:
class ComponentDescriptor : public Descriptor {
public:
int getStreamContent() const;
int getStreamContentExt() const;
int getComponentType() const;
int getComponentTag() const;
char languageCode[4];

View File

@ -10,7 +10,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: headers.h 3.1 2013/10/30 10:16:18 kls Exp $
* $Id: headers.h 4.1 2020/06/23 09:27:09 kls Exp $
* *
***************************************************************************/
@ -1176,11 +1176,11 @@ struct descr_component {
u_char descriptor_tag :8;
u_char descriptor_length :8;
#if BYTE_ORDER == BIG_ENDIAN
u_char reserved :4;
u_char stream_content_ext :4;
u_char stream_content :4;
#else
u_char stream_content :4;
u_char reserved :4;
u_char stream_content_ext :4;
#endif
u_char component_type :8;
u_char component_tag :8;