DVB-Epg
view release on metacpan or search on metacpan
lib/DVB/Epg.pm view on Meta::CPAN
=head3 updateEit( $pid )
Use eit rules for updateing Eit sections of given $pid in database.
Return 1 on success.
Return 0 if sections are already uptodate.
Return undef on error;
=cut
sub updateEit {
my $self = shift;
my $pid = shift;
my $dbh = $self->{dbh};
my $updated = 0;
if ( !defined $pid) {
return;
}
my $sel = $dbh->prepare("SELECT * FROM eit WHERE pid=$pid");
lib/DVB/Epg.pm view on Meta::CPAN
Update sections only if there are changes in event table of schedule since last update or
the $forced flag is set to 1.
Return undef if failed.
Return 0 if sections are already uptodate.
Return 1 after updating sections.
=cut
sub updateEitPresent {
my $self = shift;
my $rule = shift;
my $forced = shift // 0;
my $dbh = $self->{dbh};
# extend the $rule information
$rule->{table_id} = $rule->{actual} == 1 ? 0x4e : 0x4f;
my $present_following = new DVB::EventInformationTable($rule);
lib/DVB/Epg.pm view on Meta::CPAN
}
=head3 updateEitSchedule( $rule)
Update eit playout packet for given $rule.
$rule is reference to hash containing keys:
pid, service_id, original_network_id, transport_stream_id, service_id, maxsegments, actual
=cut
sub updateEitSchedule {
my $self = shift;
my $rule = shift;
my $dbh = $self->{dbh};
my $num_subtable = int( ( $rule->{maxsegments} - 1 ) / 32 );
# always use this time in queries
my $current_time = time();
my $last_midnight = int( $current_time / ( 24 * 60 * 60 ) ) * 24 * 60 * 60;
( run in 0.246 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )