@byomakase/omakase-react-components 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -21,7 +21,7 @@ ${r.uri}`),n+=`
21
21
  `),n+=`#EXTINF:${r.duration},
22
22
  ${r.uri}
23
23
  `}),e.endList&&(n+=`#EXT-X-ENDLIST
24
- `),n}}function Oi(t,e){if(!t.some(l=>{var d;return l.streamInfo||((d=l.mediaInfo)==null?void 0:d.type)==="AUDIO"}))throw new Error("Can't create an hls manifest without audio or video source");const r=new kt().setVersion(10).setIndependentSegments(e.independentSegments);let i=t.some(({streamInfo:l,mediaInfo:d})=>l&&!d),o=!1;for(let l=0;l<t.length;l++){const{segments:d,metadata:f,streamInfo:h,mediaInfo:w}=t[l];let v=f.targetDuration;v===void 0&&(v=Math.max(...d.map(H=>H.duration),1));const L=new kt().setVersion(f.version??3).setIndependentSegments(f.independentSegments??!0).setTargetDuration(Math.ceil(v));f.programDateTime&&L.setProgramDateTime(f.programDateTime),f.playlistType&&L.setPlaylistType(f.playlistType),d.forEach(H=>L.addSegment(H,H.uri==="http://byomakase.org/non-playable-gap")),L.setEndList();const M=L.build(),F=Nt.write(M),A=new Blob([F],{type:"application/vnd.apple.mpegurl"}),N=URL.createObjectURL(A);if(h&&!w){const H=new ut(h.bandwidth,h.averageBandwidth,h.resolution,h.frameRate,N);r.addStreamInfo(H)}else if(w){const H=new xi(w.type,w.groupId??w.type.toLowerCase(),w.name??"",w.isDefault,w.autoSelect,w.channels,N);if(r.addMedia(H),!i&&w.type==="AUDIO"&&!o){const x=new ut((h==null?void 0:h.bandwidth)??0,(h==null?void 0:h.averageBandwidth)??0,null,null,N);r.addStreamInfo(x),o=!0}}}const s=r.build(),a=Nt.write(s),c=new Blob([a],{type:"application/vnd.apple.mpegurl"});return URL.createObjectURL(c)}function _i(t){return t===void 0?t:t.flatMap((e,n)=>{var a;if(t.length-1===n)return[e];const r=t.at(n+1),i=U.timeMomentToSeconds(U.parseTimeRange(e.timerange).end),o=U.timeMomentToSeconds(U.parseTimeRange(r.timerange).start);if(Math.abs(i-o)<.001)return[e];const s=U.toTimeRange(U.secondsToTimeMoment(i),U.secondsToTimeMoment(o),!0,!1);return[e,{timerange:U.formatTimeRangeExpr(s),ts_offset:e.ts_offset,get_urls:(a=e.get_urls)==null?void 0:a.map(()=>"http://byomakase.org/non-playable-gap"),object_id:"non-playable-gap"}]})}function ki(t,e,n){const r=[],i=(s,a)=>{var d;if(s.format!=="urn:x-nmos:format:video"&&s.format!=="urn:x-nmos:format:audio")return;const c=((d=_i(a))==null?void 0:d.map(f=>{var w,v;const h=U.timerangeExprDuration(f.timerange);return new Ii(h,((v=(w=f.get_urls)==null?void 0:w.at(-1))==null?void 0:v.url)??"http://byomakase.org/non-playable-gap")}))??[],u=Math.max(...c.map(f=>f.duration),1),l={playlistType:"VOD",targetDuration:Math.ceil(u),version:3,independentSegments:!0};if(s.format==="urn:x-nmos:format:video"){const h=s.essence_parameters,w={width:h.frame_width,height:h.frame_height},v=h.frame_rate?h.frame_rate.denominator?h.frame_rate.numerator/h.frame_rate.denominator:h.frame_rate.numerator:null,L=new ut(s.avg_bit_rate??0,s.avg_bit_rate??0,w,v,"");r.push({segments:c,metadata:l,streamInfo:L})}else if(s.format==="urn:x-nmos:format:audio"){const h=s.essence_parameters,w={type:"AUDIO",groupId:"audio",name:ge.isNullUndefinedOrWhitespace(s.description)?"":s.description,isDefault:!0,autoSelect:!0,channels:h.channels.toString()},v={bandwidth:s.avg_bit_rate??0,averageBandwidth:s.avg_bit_rate??0,resolution:null,frameRate:null,uri:""};r.push({segments:c,metadata:l,mediaInfo:w,streamInfo:v})}};return t.format==="urn:x-nmos:format:multi"?e==null||e.forEach(s=>{const a=n==null?void 0:n.get(s.id);i(s,a)}):i(t,n==null?void 0:n.get(t.id)),Oi(r,{independentSegments:!0})}const Ni=p.memo(function({flow:e,childFlows:n,flowsSegments:r,videoLoadOptions:i,onVideoLoadedCallback:o,config:s,timerange:a,enableHotkey:c}){const u=p.useMemo(()=>ki(e,n,r),[e,r,n,a]);return p.createElement(rn,{videoUrl:u,videoLoadOptions:i,onVideoLoadedCallback:o,config:s,enableHotkeys:c})});function Re(t){const e=new Date(t*1e3),n=e.getUTCHours();let r=e.getUTCMinutes();return e.getUTCSeconds()>=30&&r++,`${n}h ${r}min`}const Ri=`
24
+ `),n}}function Oi(t,e){if(!t.some(l=>{var d;return l.streamInfo||((d=l.mediaInfo)==null?void 0:d.type)==="AUDIO"}))throw new Error("Can't create an hls manifest without audio or video source");const r=new kt().setVersion(10).setIndependentSegments(e.independentSegments);let i=t.some(({streamInfo:l,mediaInfo:d})=>l&&!d),o=!1;for(let l=0;l<t.length;l++){const{segments:d,metadata:f,streamInfo:h,mediaInfo:w}=t[l];let v=f.targetDuration;v===void 0&&(v=Math.max(...d.map(H=>H.duration),1));const L=new kt().setVersion(f.version??3).setIndependentSegments(f.independentSegments??!0).setTargetDuration(Math.ceil(v));f.programDateTime&&L.setProgramDateTime(f.programDateTime),f.playlistType&&L.setPlaylistType(f.playlistType),d.forEach(H=>L.addSegment(H,H.uri==="http://byomakase.org/non-playable-gap")),L.setEndList();const M=L.build(),F=Nt.write(M),A=new Blob([F],{type:"application/vnd.apple.mpegurl"}),N=URL.createObjectURL(A);if(h&&!w){const H=new ut(h.bandwidth,h.averageBandwidth,h.resolution,h.frameRate,N);r.addStreamInfo(H)}else if(w){const H=new xi(w.type,w.groupId??w.type.toLowerCase(),w.name??"",w.isDefault,w.autoSelect,w.channels,N);if(r.addMedia(H),!i&&w.type==="AUDIO"&&!o){const x=new ut((h==null?void 0:h.bandwidth)??0,(h==null?void 0:h.averageBandwidth)??0,null,null,N);r.addStreamInfo(x),o=!0}}}const s=r.build(),a=Nt.write(s),c=new Blob([a],{type:"application/vnd.apple.mpegurl"});return URL.createObjectURL(c)}function _i(t){return t===void 0?t:t.flatMap((e,n)=>{var a;if(t.length-1===n)return[e];const r=t.at(n+1),i=U.timeMomentToSeconds(U.parseTimeRange(e.timerange).end),o=U.timeMomentToSeconds(U.parseTimeRange(r.timerange).start);if(Math.abs(i-o)<.001)return[e];const s=U.toTimeRange(U.secondsToTimeMoment(i),U.secondsToTimeMoment(o),!0,!1);return[e,{timerange:U.formatTimeRangeExpr(s),ts_offset:e.ts_offset,get_urls:(a=e.get_urls)==null?void 0:a.map(()=>"http://byomakase.org/non-playable-gap"),object_id:"non-playable-gap"}]})}function ki(t,e,n){const r=[],i=(s,a)=>{var d;if(s.format!=="urn:x-nmos:format:video"&&s.format!=="urn:x-nmos:format:audio")return;const c=((d=_i(a))==null?void 0:d.map(f=>{var w,v;const h=U.timerangeExprDuration(f.timerange);return new Ii(h,((v=(w=f.get_urls)==null?void 0:w.at(-1))==null?void 0:v.url)??"http://byomakase.org/non-playable-gap")}))??[],u=Math.max(...c.map(f=>f.duration),1),l={playlistType:"VOD",targetDuration:Math.ceil(u),version:3,independentSegments:!0};if(s.format==="urn:x-nmos:format:video"){const h=s.essence_parameters,w={width:h.frame_width,height:h.frame_height},v=h.frame_rate?h.frame_rate.denominator?h.frame_rate.numerator/h.frame_rate.denominator:h.frame_rate.numerator:null,L=new ut(s.avg_bit_rate??0,s.avg_bit_rate??0,w,v,"");r.push({segments:c,metadata:l,streamInfo:L})}else if(s.format==="urn:x-nmos:format:audio"){const h=s.essence_parameters,w={type:"AUDIO",groupId:"audio",name:ge.isNullUndefinedOrWhitespace(s.description)?"":s.description,isDefault:!0,autoSelect:!0,channels:h.channels.toString()},v={bandwidth:s.avg_bit_rate??0,averageBandwidth:s.avg_bit_rate??0,resolution:null,frameRate:null,uri:""};r.push({segments:c,metadata:l,mediaInfo:w,streamInfo:v})}};return t.format==="urn:x-nmos:format:multi"?e==null||e.forEach(s=>{const a=n==null?void 0:n.get(s.id);a!=null&&a.length&&i(s,a)}):i(t,n==null?void 0:n.get(t.id)),Oi(r,{independentSegments:!0})}const Ni=p.memo(function({flow:e,childFlows:n,flowsSegments:r,videoLoadOptions:i,onVideoLoadedCallback:o,config:s,timerange:a,enableHotkey:c}){const u=p.useMemo(()=>ki(e,n,r),[e,r,n,a]);return p.createElement(rn,{videoUrl:u,videoLoadOptions:i,onVideoLoadedCallback:o,config:s,enableHotkeys:c})});function Re(t){const e=new Date(t*1e3),n=e.getUTCHours();let r=e.getUTCMinutes();return e.getUTCSeconds()>=30&&r++,`${n}h ${r}min`}const Ri=`
25
25
  .omakase-time-range-selector-segments {
26
26
  display: flex;
27
27
  width: 700px;