File tree Expand file tree Collapse file tree 3 files changed +17
-14
lines changed
addons/mod/resource/components/index
classes/element-controllers Expand file tree Collapse file tree 3 files changed +17
-14
lines changed Original file line number Diff line number Diff line change 3535 </ ng-container >
3636
3737 < div *ngIf ="mode === 'embedded' " class ="ion-padding ">
38- < core-format-text [text] ="contentText " [filter ] ="false " />
38+ < core-format-text [text] ="contentText " contextLevel =" module " [contextInstanceId ] ="module.id " [courseId] =" courseId " />
3939 </ div >
4040
4141 < ng-container *ngIf ="mode === 'external' ">
Original file line number Diff line number Diff line change @@ -114,22 +114,22 @@ export class MediaElementController extends ElementController {
114114 return ;
115115 }
116116
117- const player = await this . searchJSPlayer ( ) ;
117+ // Start listening to events because the player could be created while we're searching for it, causing a race condition.
118+ this . jsPlayerListener = CoreEvents . on ( VIDEO_JS_PLAYER_CREATED , ( { element, player } ) => {
119+ if ( element !== media ) {
120+ return ;
121+ }
118122
119- if ( ! player ) {
120- this . jsPlayerListener = CoreEvents . on ( VIDEO_JS_PLAYER_CREATED , ( { element, player } ) => {
121- if ( element !== media ) {
122- return ;
123- }
123+ this . jsPlayerListener ?. off ( ) ;
124+ this . jsPlayer . resolve ( player ) ;
125+ } ) ;
124126
125- this . jsPlayerListener ?. off ( ) ;
126- this . jsPlayer . resolve ( player ) ;
127- } ) ;
127+ const player = await this . searchJSPlayer ( ) ;
128128
129- return ;
129+ if ( player && ! this . jsPlayer . isSettled ( ) ) {
130+ this . jsPlayerListener ?. off ( ) ;
131+ this . jsPlayer . resolve ( player ) ;
130132 }
131-
132- this . jsPlayer . resolve ( player ) ;
133133 }
134134
135135 /**
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ import mimeToExt from '@/assets/mimetoext.json';
2727import { CoreFileEntry , CoreFileHelper } from '@services/file-helper' ;
2828import { CoreUrl } from '@singletons/url' ;
2929import { CoreSites } from '@services/sites' ;
30+ import { CoreUtils } from '@singletons/utils' ;
3031
3132interface MimeTypeInfo {
3233 type : string ;
@@ -193,8 +194,10 @@ export class CoreMimetypeUtilsProvider {
193194 return `<img src="${ path } ">` ;
194195 case 'audio' :
195196 case 'video' :
197+ // Add videoJS class and ID because the media could use the VideoJS player.
196198 return [
197- `<${ embedType } controls title="${ filename } " src="${ path } " controlsList="nodownload">` ,
199+ `<${ embedType } controls title="${ filename } " src="${ path } " controlsList="nodownload" class="video-js" ` +
200+ `id="id_videojs_moodleapp_${ CoreUtils . getUniqueId ( 'CoreMimetypeUtils-embedded-media' ) } ">` ,
198201 `<source src="${ path } " type="${ mimeType } ">` ,
199202 `</${ embedType } >` ,
200203 ] . join ( '' ) ;
You can’t perform that action at this time.
0 commit comments