mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed the PremiereContentTransmissionDescriptor in 'libsi'
This commit is contained in:
parent
e892171736
commit
4355183150
@ -218,6 +218,7 @@ Stefan Huelswitt <huels@iname.com>
|
|||||||
for suggesting that the SVDRP command GRAB should allow file names without extension
|
for suggesting that the SVDRP command GRAB should allow file names without extension
|
||||||
again
|
again
|
||||||
for reporting a problem with channel up/down switching on single card systems
|
for reporting a problem with channel up/down switching on single card systems
|
||||||
|
for fixing the PremiereContentTransmissionDescriptor in 'libsi'
|
||||||
|
|
||||||
Ulrich Röder <roeder@efr-net.de>
|
Ulrich Röder <roeder@efr-net.de>
|
||||||
for pointing out that there are channels that have a symbol rate higher than 27500
|
for pointing out that there are channels that have a symbol rate higher than 27500
|
||||||
|
5
HISTORY
5
HISTORY
@ -4745,3 +4745,8 @@ Video Disk Recorder Revision History
|
|||||||
(reported by Mirko Dölle).
|
(reported by Mirko Dölle).
|
||||||
- Fixed deleting channels in case the current channel's number changes (reported
|
- Fixed deleting channels in case the current channel's number changes (reported
|
||||||
by Mirko Dölle).
|
by Mirko Dölle).
|
||||||
|
|
||||||
|
2006-05-28: Version 1.4.0-3
|
||||||
|
|
||||||
|
- Fixed the PremiereContentTransmissionDescriptor in 'libsi' (thanks to Stefan
|
||||||
|
Huelswitt).
|
||||||
|
4
config.h
4
config.h
@ -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: config.h 1.257 2006/05/19 12:12:39 kls Exp $
|
* $Id: config.h 1.258 2006/05/28 14:42:21 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
// VDR's own version number:
|
// VDR's own version number:
|
||||||
|
|
||||||
#define VDRVERSION "1.4.0-2"
|
#define VDRVERSION "1.4.0-3"
|
||||||
#define VDRVERSNUM 10400 // Version * 10000 + Major * 100 + Minor
|
#define VDRVERSNUM 10400 // Version * 10000 + Major * 100 + Minor
|
||||||
|
|
||||||
// The plugin API's version number:
|
// The plugin API's version number:
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (at your option) any later version. *
|
||||||
* *
|
* *
|
||||||
* $Id: descriptor.c 1.20 2006/04/17 12:19:15 kls Exp $
|
* $Id: descriptor.c 1.21 2006/05/28 14:25:30 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -806,21 +806,34 @@ int PremiereContentTransmissionDescriptor::getServiceId() const {
|
|||||||
return HILO(s->service_id);
|
return HILO(s->service_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
int PremiereContentTransmissionDescriptor::getMJD() const {
|
void PremiereContentTransmissionDescriptor::Parse() {
|
||||||
|
s=data.getData<const descr_premiere_content_transmission>();
|
||||||
|
startDayLoop.setData(data+sizeof(descr_premiere_content_transmission), getLength()-sizeof(descr_premiere_content_transmission));
|
||||||
|
}
|
||||||
|
|
||||||
|
int PremiereContentTransmissionDescriptor::StartDayEntry::getMJD() const {
|
||||||
return HILO(s->mjd);
|
return HILO(s->mjd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PremiereContentTransmissionDescriptor::Parse() {
|
int PremiereContentTransmissionDescriptor::StartDayEntry::getLoopLength() const {
|
||||||
s=data.getData<const descr_premiere_content_transmission>();
|
return s->start_time_loop;
|
||||||
startTimeLoop.setData(data+sizeof(descr_premiere_content_transmission), getLength()-sizeof(descr_premiere_content_transmission));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
time_t PremiereContentTransmissionDescriptor::StartTimeEntry::getStartTime(int mjd) const {
|
int PremiereContentTransmissionDescriptor::StartDayEntry::getLength() {
|
||||||
|
return sizeof(item_premiere_content_transmission_day)+getLoopLength();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PremiereContentTransmissionDescriptor::StartDayEntry::Parse() {
|
||||||
|
s=data.getData<const item_premiere_content_transmission_day>();
|
||||||
|
startTimeLoop.setData(data+sizeof(item_premiere_content_transmission_day), getLoopLength());
|
||||||
|
}
|
||||||
|
|
||||||
|
time_t PremiereContentTransmissionDescriptor::StartDayEntry::StartTimeEntry::getStartTime(int mjd) const {
|
||||||
return DVBTime::getTime(mjd >> 8, mjd & 0xff, s->start_time_h, s->start_time_m, s->start_time_s);
|
return DVBTime::getTime(mjd >> 8, mjd & 0xff, s->start_time_h, s->start_time_m, s->start_time_s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PremiereContentTransmissionDescriptor::StartTimeEntry::Parse() {
|
void PremiereContentTransmissionDescriptor::StartDayEntry::StartTimeEntry::Parse() {
|
||||||
s=data.getData<const item_premiere_content_transmission_reference>();
|
s=data.getData<const item_premiere_content_transmission_time>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ApplicationSignallingDescriptor::Parse() {
|
void ApplicationSignallingDescriptor::Parse() {
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (at your option) any later version. *
|
||||||
* *
|
* *
|
||||||
* $Id: descriptor.h 1.14 2006/04/14 10:53:44 kls Exp $
|
* $Id: descriptor.h 1.15 2006/05/28 14:25:30 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -490,20 +490,30 @@ private:
|
|||||||
|
|
||||||
class PremiereContentTransmissionDescriptor : public Descriptor {
|
class PremiereContentTransmissionDescriptor : public Descriptor {
|
||||||
public:
|
public:
|
||||||
class StartTimeEntry : public LoopElement {
|
class StartDayEntry : public LoopElement {
|
||||||
public:
|
public:
|
||||||
virtual int getLength() { return sizeof(item_premiere_content_transmission_reference); }
|
class StartTimeEntry : public LoopElement {
|
||||||
time_t getStartTime(int mjd) const; //UTC
|
public:
|
||||||
|
virtual int getLength() { return sizeof(item_premiere_content_transmission_time); }
|
||||||
|
time_t getStartTime(int mjd) const; //UTC
|
||||||
|
protected:
|
||||||
|
virtual void Parse();
|
||||||
|
private:
|
||||||
|
const item_premiere_content_transmission_time *s;
|
||||||
|
};
|
||||||
|
StructureLoop<StartTimeEntry> startTimeLoop;
|
||||||
|
virtual int getLength();
|
||||||
|
int getMJD() const;
|
||||||
|
int getLoopLength() const;
|
||||||
protected:
|
protected:
|
||||||
virtual void Parse();
|
virtual void Parse();
|
||||||
private:
|
private:
|
||||||
const item_premiere_content_transmission_reference *s;
|
const item_premiere_content_transmission_day *s;
|
||||||
};
|
};
|
||||||
StructureLoop<StartTimeEntry> startTimeLoop;
|
StructureLoop<StartDayEntry> startDayLoop;
|
||||||
int getOriginalNetworkId() const;
|
int getOriginalNetworkId() const;
|
||||||
int getTransportStreamId() const;
|
int getTransportStreamId() const;
|
||||||
int getServiceId() const;
|
int getServiceId() const;
|
||||||
int getMJD() const;
|
|
||||||
protected:
|
protected:
|
||||||
virtual void Parse();
|
virtual void Parse();
|
||||||
private:
|
private:
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (at your option) any later version. *
|
||||||
* *
|
* *
|
||||||
* $Id: headers.h 1.6 2006/04/14 10:53:44 kls Exp $
|
* $Id: headers.h 1.7 2006/05/28 14:25:30 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -1790,7 +1790,7 @@ struct descr_application_icons_descriptor_end {
|
|||||||
// 0xF2 Content Transmission Descriptor
|
// 0xF2 Content Transmission Descriptor
|
||||||
// http://dvbsnoop.sourceforge.net/examples/example-private-section.html
|
// http://dvbsnoop.sourceforge.net/examples/example-private-section.html
|
||||||
|
|
||||||
#define DESCR_PREMIERE_CONTENT_TRANSMISSION_LEN 11
|
#define DESCR_PREMIERE_CONTENT_TRANSMISSION_LEN 8
|
||||||
|
|
||||||
struct descr_premiere_content_transmission {
|
struct descr_premiere_content_transmission {
|
||||||
u_char descriptor_tag :8;
|
u_char descriptor_tag :8;
|
||||||
@ -1801,14 +1801,19 @@ struct descr_premiere_content_transmission {
|
|||||||
u_char original_network_id_lo :8;
|
u_char original_network_id_lo :8;
|
||||||
u_char service_id_hi :8;
|
u_char service_id_hi :8;
|
||||||
u_char service_id_lo :8;
|
u_char service_id_lo :8;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ITEM_PREMIERE_CONTENT_TRANSMISSION_DAY_LEN 3
|
||||||
|
|
||||||
|
struct item_premiere_content_transmission_day {
|
||||||
u_char mjd_hi :8;
|
u_char mjd_hi :8;
|
||||||
u_char mjd_lo :8;
|
u_char mjd_lo :8;
|
||||||
u_char start_time_loop :8;
|
u_char start_time_loop :8;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ITEM_PREMIERE_CONTENT_TRANSMISSION_LEN 3
|
#define ITEM_PREMIERE_CONTENT_TRANSMISSION_TIME_LEN 3
|
||||||
|
|
||||||
struct item_premiere_content_transmission_reference {
|
struct item_premiere_content_transmission_time {
|
||||||
u_char start_time_h :8;
|
u_char start_time_h :8;
|
||||||
u_char start_time_m :8;
|
u_char start_time_m :8;
|
||||||
u_char start_time_s :8;
|
u_char start_time_s :8;
|
||||||
|
Loading…
Reference in New Issue
Block a user