').html(
+ $('').html(
+ $('').text('Type:')
+ ).append(
+ $(' | ').text(capFirstChar(track.type))
+ )
+ ).append(
+ $(' |
').html(
+ $('').text('Codec:')
+ ).append(
+ $(' | ').text(track.codec)
+ )
+ ).append(
+ $(' |
').html(
+ $('').text('Duration:')
+ ).append(
+ $(' | ').html(
+ formatDuration(track.lastms-track.firstms)+' (from '+formatDuration(track.firstms)+' to '+formatDuration(track.lastms)+')'
+ )
+ )
+ ).append(
+ $(' |
').html(
+ $('').text('Average bitrate:')
+ ).append(
+ $(' | ').text(Math.round(track.bps/1024)+' KiB/s')
+ )
+ );
+
+ if (track.height) {
+ $table.append(
+ $(' |
').html(
+ $('').text('Size:')
+ ).append(
+ $(' | ').text(track.width+'x'+track.height+' px')
+ )
+ );
+ }
+ if (track.fpks) {
+ $table.append(
+ $(' |
').html(
+ $('').text('Framerate:')
+ ).append(
+ $(' | ').text(track.fpks/1000+' fps')
+ )
+ );
+ }
+ if (track.channels) {
+ $table.append(
+ $(' |
').html(
+ $('').text('Channels:')
+ ).append(
+ $(' | ').text(track.channels)
+ )
+ );
+ }
+ if (track.rate) {
+ $table.append(
+ $(' |
').html(
+ $('').text('Samplerate:')
+ ).append(
+ $(' | ').text(seperateThousands(track.rate,' ')+' Hz')
+ )
+ );
+ }
+
+ $meta.append(
+ $(' |
').html(
+ $('').text(capFirstChar(index)+':')
+ ).append(
+ $(' | ').html(
+ $table
+ )
+ )
+ );
+ }
+
+ $streaminfo.append(
+ $(' ').text('Track information')
+ ).append(
+ $(' ').css({'display':'table','table-layout':'fixed','min-height':'300px'}).html(
+ $(' ').css('display','table-row').html(
+ $(' ').attr('id','info-stream-meta').css({'display':'table-cell','max-width':'50%','overflow':'auto'}).html(
+ $meta
+ )
+ ).append(
+ $(' ').attr('id','info-stream-statistics').css({'display':'table-cell','text-align':'center','min-height':'200px'})
+ )
+ )
+ );
+ }
+ },{},0,true);
}
$(function(){
diff --git a/lsp/pages.js b/lsp/pages.js
index a7ebd313..63ca58b6 100755
--- a/lsp/pages.js
+++ b/lsp/pages.js
@@ -810,7 +810,7 @@ function showTab(tabName,streamName) {
$('#page').html(
$(' ').addClass('table').html(
$(' ').addClass('row').html(
- $(' ').addClass('cell').attr('id','liststreams').addClass('menu')
+ $(' ').addClass('cell').attr('id','liststreams').addClass('menu').css('vertical-align','top')
).append(
$(' ').addClass('cell').attr('id','subpage').css('padding-left','1em')
)
diff --git a/src/connectors/embed.js b/src/connectors/embed.js
index 712bc1a2..e8f382c6 100644
--- a/src/connectors/embed.js
+++ b/src/connectors/embed.js
@@ -179,15 +179,15 @@ function mistembed(streamname)
// remove script tag
me.parentNode.removeChild(me);
- if(video.error)
- {
+ if(video.error) {
// there was an error; display it
container.innerHTML = ['Error: ', video.error, ''].join('');
- }else if(video.source.length < 1)
- {
+ }
+ else if ((typeof video.source == 'undefined') || (video.source.length < 1)) {
// no stream sources
container.innerHTML = 'Error: no streams found';
- }else{
+ }
+ else{
// no error, and sources found. Check the video types and output the best
// available video player.
var i,
|