View | Details | Raw Unified | Return to bug 14168
Collapse All | Expand All

(-)a/C4/HTML5Media.pm (-5 / +16 lines)
Lines 22-28 use warnings; Link Here
22
22
23
use C4::Context;
23
use C4::Context;
24
use MARC::Field;
24
use MARC::Field;
25
25
use WWW::YouTube::Download qw(playback_url);
26
26
27
=head1 HTML5Media
27
=head1 HTML5Media
28
28
Lines 96-101 sub gethtml5media { Link Here
96
        # src
96
        # src
97
        if ( $HTML5Media_field->subfield('u') ) {
97
        if ( $HTML5Media_field->subfield('u') ) {
98
            $HTML5Media{srcblock} = $HTML5Media_field->subfield('u');
98
            $HTML5Media{srcblock} = $HTML5Media_field->subfield('u');
99
            if (grep /youtube/, $HTML5Media_field->subfield('u') ) {
100
                my $youtube           = WWW::YouTube::Download->new;
101
                $HTML5Media{srcblock} = $youtube->playback_url(
102
                    $HTML5Media_field->subfield('u'), { 
103
                        'fmt' => '43' #webm
104
                    }
105
                );
106
            }
99
        }
107
        }
100
        elsif ( $HTML5Media_field->subfield('a') && $HTML5Media_field->subfield('d') && $HTML5Media_field->subfield('f') ) {
108
        elsif ( $HTML5Media_field->subfield('a') && $HTML5Media_field->subfield('d') && $HTML5Media_field->subfield('f') ) {
101
            $HTML5Media{host}        = $HTML5Media_field->subfield('a');
109
            $HTML5Media{host}        = $HTML5Media_field->subfield('a');
Lines 108-118 sub gethtml5media { Link Here
108
        else {
116
        else {
109
            next; # no file to play
117
            next; # no file to play
110
        }
118
        }
111
        # extension
119
        # extension or youtube
112
        $HTML5Media{extension} = ($HTML5Media{srcblock} =~ m/([^.]+)$/)[0];
120
        $HTML5Media{extension} = ($HTML5Media{srcblock} =~ m/([^.]+)$/)[0];
113
        if ( !grep /\Q$HTML5Media{extension}\E/, @HTML5MediaExtensions ) {
121
        if ( ( !grep /\Q$HTML5Media{extension}\E/, @HTML5MediaExtensions ) && ( !grep /youtube/, $HTML5Media_field->subfield('u') ) ) {
114
            next; # not a specified media file
122
            next; # not a specified media file
115
        }
123
        }
124
        # youtube
125
        if ( grep /youtube/, $HTML5Media_field->subfield('u') ) {
126
                $HTML5Media{mime} = 'video/webm';
127
        }
116
        # mime
128
        # mime
117
        if ( $HTML5Media_field->subfield('c') ) {
129
        if ( $HTML5Media_field->subfield('c') ) {
118
            $HTML5Media{codecs} = $HTML5Media_field->subfield('c');
130
            $HTML5Media{codecs} = $HTML5Media_field->subfield('c');
Lines 144-150 sub gethtml5media { Link Here
144
            }
156
            }
145
            if ( $HTML5Media{extension} eq 'oga' ) {
157
            if ( $HTML5Media{extension} eq 'oga' ) {
146
                $HTML5Media{mime} = 'audio/ogg';
158
                $HTML5Media{mime} = 'audio/ogg';
147
              $HTML5Media{codecs} = 'vorbis';
159
                $HTML5Media{codecs} = 'vorbis';
148
            }
160
            }
149
            elsif ( $HTML5Media{extension} eq 'spx' ) {
161
            elsif ( $HTML5Media{extension} eq 'spx' ) {
150
                $HTML5Media{mime} = 'audio/ogg';
162
                $HTML5Media{mime} = 'audio/ogg';
151
- 

Return to bug 14168