* vlm fix. change "input :foo=bar :foo2=bar2" into vlm compatible option handling
* mosaic fix. always enable transcode when using an sout chain
<button id="btn_network" onclick="hide_input();show('input_network');update_input_net();">
Network
</button>
+ <button id="btn_fake" onclick="hide_input();show('input_fake');update_input_fake();">
+ Fixed image
+ </button>
</div>
<div id="input_helper" class="helper" >
<div id="input_file" style="display: block">
</tr>
</table>
</div>
+ <div id="input_fake" style="display: none">
+ Fixed image stream (fake)
+ <hr/>
+ <label for="input_fake_filename">Image file name</label>
+ <input type="text" id="input_fake_filename" size="60" onchange="update_input_fake();" onfocus="update_input_fake();"/>
+ <input type="button" id="input_fake_browse" value="Browse" onclick="browse( 'input_fake_filename' );" />
+ <hr/>
+ <label for="input_fake_width">Width</label>
+ <input type="text" id="input_fake_width" size="8" onchange="update_input_fake();" />
+ <label for="input_fake_height">Height</label>
+ <input type="text" id="input_fake_height" size="8" onchange="update_input_fake();" />
+ <label for"input_fake_ar">Aspect ratio</label>
+ <input type="text" id="input_fake_ar" size="8" onchange="update_input_fake();" />
+ </div>
</div>
</div>
<label for="mosaic_input_name">Name:</label> <input type="text" id="mosaic_input_name" value="" class="mosaic_itm" />
<label for="mosaic_input">Input:</label> <input type="text" id="mosaic_input" value="" class="mosaic_itm" /> <input type="button" value="Edit" onclick="vlm_input_edit( 'mosaic_input' );" /> <input type="button" value="Add to input list" onclick="mosaic_add_input();" /><br/>
<b>Stream:</b> (leave this empty to display locally)<br/>
- <label for="mosaic_output">Output:</label> <input type="text" id="mosaic_output" value="" size="60" onvlur="mosaic_code_update();" /> <input type="button" value="Edit" onclick="vlm_output_edit( 'mosaic_output' );" /><br/>
+ <label for="mosaic_output">Output:</label> <input type="text" id="mosaic_output" value="" size="60" onblur="mosaic_code_update();" /> <input type="button" value="Edit" onclick="vlm_output_edit( 'mosaic_output' );" /><br/>
<div id="mosaic_feedback"></div>
</div>
<div id="mosaic_list" class="popup">[<a href="javascript:hide('mosaic_list');">hide</a>] - Select a stream:<br/><div id="mosaic_list_content"></div></div>
</div>
<hr/>
<div id="sout_transcode">
+ <input type="hidden" id="sout_transcode_extra" value="" />
<table>
<tr>
<td>
<label for="sout_ttl">Time-To-Live (TTL)</label>
<input type="text" id="sout_ttl" onchange="update_sout()"/>
</div>
- <input type="hidden" id="sout_extra" value="" />
</div>
</div>
document.getElementById( 'input_file' ).style.display = 'none';
document.getElementById( 'input_disc' ).style.display = 'none';
document.getElementById( 'input_network' ).style.display = 'none';
+ document.getElementById( 'input_fake' ).style.display = 'none';
}
/* update the input MRL using data from the input file helper */
mrl.value += " :access-filter=timeshift";
}
+/* update the input MRL using data from the input fake helper */
+function update_input_fake()
+{
+ var mrl = document.getElementById( 'input_mrl' );
+
+ mrl.value = "fake:";
+ mrl.value += " :fake-file=" + value( "input_fake_filename" );
+
+ if( value( "input_fake_width" ) )
+ mrl.value += " :fake-width=" + value( "input_fake_width" );
+ if( value( "input_fake_height" ) )
+ mrl.value += " :fake-height=" + value( "input_fake_height" );
+ if( value( "input_fake_ar" ) )
+ mrl.value += " :fake-ar=" + value( "input_fake_ar" );
+}
+
/**********************************************************************
* Sout dialog functions
*********************************************************************/
mrl.value += "scodec="+value( 'sout_scodec' );
alot = true;
}
- mrl.value += value( 'sout_extra' );
+ mrl.value += value( 'sout_transcode_extra' );
mrl.value += "}";
}
var cell_width = 0;
var cell_height = 0;
-var streams = Object;
-var cells = Object;
+var streams = Object();
+var cells = Object();
function mosaic_init()
{
- document.getElementById( 'sout_extra' ).value = ",sfilter=mosaic";
+ document.getElementById( 'sout_transcode_extra' ).value = ",sfilter=mosaic";
mosaic_size_change();
+
+ /* Force usage of transcode in sout */
+ document.getElementById( 'sout_vcodec_s' ).checked = 'checked';
+ disable( 'sout_vcodec_s' );
+ update_sout();
}
function mosaic_size_change()
function vlm_input_change()
{
- document.getElementById( value( 'input_dest' ) ).value = value( 'input_mrl' );
+ document.getElementById( value( 'input_dest' ) ).value = value( 'input_mrl' ).replace( /\ :/g, " option " );
hide( 'input' );
document.getElementById( value( 'input_dest' ) ).focus();
}
div.helper {
margin: 10px;
- border: solid #ccc 2px;
+ padding: 10px 0px;
+ border: solid 1px #000;
}
div.helper hr {
- border: solid #ccc 1px;
+ border: solid 1px #000;
}
div.title {