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.333 second using v1.01-cache-2.11-cpan-5dc5da66d9d )