Changeset 20347 for extensions


Ignore:
Timestamp:
2009-08-20T17:00:18+12:00 (15 years ago)
Author:
max
Message:

Add the .ts as new recognized extension, solve the problem of screenviews that were regenerated each time without using their cached version, and solve the problem of the source metadata that used to be added twice to the document object.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/gsdl-video/trunk/perllib/plugins/VideoPlugin.pm

    r20111 r20347  
    118118    my $self = shift (@_);
    119119
    120     return q^(?i)\.(mpe?g|flv|mov|qt|wmv|vob|avi|mp4|m4v)$^;
     120    return q^(?i)\.(mpe?g|flv|mov|qt|wmv|vob|avi|mp4|m4v|ts)$^;
    121121}
    122122
     
    257257{
    258258    my $self = shift (@_);
    259     my ($doc_obj,$filename,$screenviewtype, $screenview_width,$screenview_height) = @_;
     259    my ($doc_obj,$filename,$convertto_regenerated, $screenviewtype, $screenview_width,$screenview_height) = @_;
    260260
    261261    my $section = $doc_obj->get_top_section();
     
    264264    my $ivideo_root  = $self->{'cached_file_root'};
    265265   
    266    
     266    my $optionally_run_general_cmd = "run_uncached_general_cmd";
     267    if ($self->{'enable_cache'}) { 
     268    $optionally_run_general_cmd
     269    = ($convertto_regenerated) ? "regenerate_general_cmd" : "run_cached_general_cmd";
     270    }
    267271    # make the screenview image
    268272
     
    276280                   'message' => "Generating screenview image" };
    277281
    278     my ($result,$had_error)
    279     = $self->run_general_cmd($screenview_cmd,$screenview_options);
     282                   
     283    my ($screenview_regenerated,$screenview_result,$screenview_had_error)
     284    = $self->$optionally_run_general_cmd($screenview_cmd,$screenviewfilename,$screenview_options);
     285   
    280286
    281287    # get screenview dimensions, size and type
    282     if ($result =~ m/[0-9]+x[0-9]+=>([0-9]+)x([0-9]+)/) {
     288    if ($screenview_result =~ m/[0-9]+x[0-9]+=>([0-9]+)x([0-9]+)/) {
    283289    $doc_obj->add_metadata ($section, "ScreenWidth", $1);
    284290    $doc_obj->add_metadata ($section, "ScreenHeight", $2);
     
    481487    # Also want to set filename as 'Source' metadata to be
    482488    # consistent with other plugins
    483     $doc_obj->add_utf8_metadata ($section, "Source", $filemeta_url_safe);
     489    # $doc_obj->add_utf8_metadata ($section, "Source", $filemeta_url_safe);
    484490
    485491
     
    520526    my $streamable_regenerated = 0;
    521527
    522     if ($self->{'enable_streaming'}) { 
    523     $streamable_regenerated
    524         = $self->enable_full_streaming($doc_obj,
     528    if ($self->{'enable_flv_streaming'} && !$self->{'enable_mp4_streaming'}) { 
     529        $streamable_regenerated
     530            = $self->enable_full_streaming($doc_obj,
    525531                       $originalfilename,$filename,
    526532                       $convertto_regenerated,
     
    528534    }
    529535
     536    # Create an H264+ACC video file with Handbrake
     537      if ($self->{'enable_mp4_streaming'}) {   
     538        $streamable_regenerated
     539            = $self->enable_h264_streaming($doc_obj,
     540                       $originalfilename,$filename,
     541                       $convertto_regenerated,
     542                       $video_width,$video_height);
     543    }
    530544
    531545    my $thumbnailsize = $self->{'thumbnailsize'} || 100;
     
    591605    $screenview_height = int($screenview_height/2) * 2;
    592606   
    593     $self->extract_screenview($doc_obj,$filename,
     607    $self->extract_screenview($doc_obj,$filename, $convertto_regenerated,
    594608                  $screenviewtype,
    595609                  $screenview_width,$screenview_height);
Note: See TracChangeset for help on using the changeset viewer.