/[Frey]/trunk/lib/Frey/Web/FLVPlayer.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/lib/Frey/Web/FLVPlayer.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 847 - (hide annotations)
Mon Dec 15 18:57:04 2008 UTC (15 years, 4 months ago) by dpavlin
File size: 1188 byte(s)
added title and subtitle auto-detection
1 dpavlin 844 package Frey::Web::FLVPlayer;
2 dpavlin 809 use Moose;
3    
4     =head1 SEE ALSO
5    
6 dpavlin 846 L<http://flv-player.net/>
7 dpavlin 809
8     =cut
9    
10     extends 'Frey';
11     with 'Frey::Web';
12     #with 'Frey::Storage';
13 dpavlin 823 with 'Frey::File::FLV';
14 dpavlin 809
15 dpavlin 847 has title => (
16     is => 'rw',
17     isa => 'Str',
18     );
19    
20 dpavlin 823 has path => (
21 dpavlin 809 is => 'rw',
22     isa => 'Str',
23     required => 1,
24 dpavlin 825 default => 'var/flv/codeswarm.flv',
25 dpavlin 809 );
26    
27 dpavlin 846 has player_swf => (
28 dpavlin 814 is => 'rw',
29     isa => 'Str',
30     required => 1,
31 dpavlin 846 default => 'http://flv-player.net/medias/player_flv_maxi.swf',
32 dpavlin 814 );
33    
34 dpavlin 809 sub as_markup {
35     my ($self) = @_;
36    
37 dpavlin 823 my $path = $self->path;
38     die "can't find $path" unless -e $path;
39 dpavlin 809
40 dpavlin 823 my $url = "http://localhost:3000/$path"; # FIXME
41 dpavlin 814
42 dpavlin 846 my $swf = $self->player_swf;
43 dpavlin 814
44 dpavlin 823 my %info = $self->flv_info;
45     warn "# info ", $self->dump( \%info );
46    
47     my $width = $info{meta_width};
48     my $height = $info{meta_height};
49    
50 dpavlin 847 my @var = ( "flv=$url" );
51    
52     my $srt = $path;
53     $srt =~ s{\.flv}{.srt};
54     if ( -e $srt ) {
55     push @var, "srt=1";
56     }
57    
58     push @var, 'title=' . $self->title if $self->title;
59    
60     my $FlashVars = join('&amp;', @var);
61    
62 dpavlin 809 qq|
63 dpavlin 846 <object type="application/x-shockwave-flash" data="$swf" width="$width" height="$height">
64     <param name="movie" value="$swf" />
65 dpavlin 847 <param name="FlashVars" value="$FlashVars" />
66 dpavlin 846 </object>
67 dpavlin 809 |;
68    
69     }
70    
71     1;

  ViewVC Help
Powered by ViewVC 1.1.26