Commit 07e5db51 authored by Antoine Cellerier's avatar Antoine Cellerier

* add "fake:" input

* vlm fix. change "input :foo=bar :foo2=bar2" into vlm compatible option handling
* mosaic fix. always enable transcode when using an sout chain
parent de7eedf4
...@@ -56,6 +56,9 @@ This dialog needs the following dialogs to be fully functional: browse ...@@ -56,6 +56,9 @@ This dialog needs the following dialogs to be fully functional: browse
<button id="btn_network" onclick="hide_input();show('input_network');update_input_net();"> <button id="btn_network" onclick="hide_input();show('input_network');update_input_net();">
Network Network
</button> </button>
<button id="btn_fake" onclick="hide_input();show('input_fake');update_input_fake();">
Fixed image
</button>
</div> </div>
<div id="input_helper" class="helper" > <div id="input_helper" class="helper" >
<div id="input_file" style="display: block"> <div id="input_file" style="display: block">
...@@ -203,5 +206,19 @@ This dialog needs the following dialogs to be fully functional: browse ...@@ -203,5 +206,19 @@ This dialog needs the following dialogs to be fully functional: browse
</tr> </tr>
</table> </table>
</div> </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>
</div> </div>
...@@ -90,7 +90,7 @@ sout. ...@@ -90,7 +90,7 @@ sout.
<label for="mosaic_input_name">Name:</label> <input type="text" id="mosaic_input_name" value="" class="mosaic_itm" /> <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/> <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/> <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 id="mosaic_feedback"></div>
</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 id="mosaic_list" class="popup">[<a href="javascript:hide('mosaic_list');">hide</a>] - Select a stream:<br/><div id="mosaic_list_content"></div></div>
......
...@@ -157,6 +157,7 @@ Note that the sout chain is used and sent to VLC by the input dialog ...@@ -157,6 +157,7 @@ Note that the sout chain is used and sent to VLC by the input dialog
</div> </div>
<hr/> <hr/>
<div id="sout_transcode"> <div id="sout_transcode">
<input type="hidden" id="sout_transcode_extra" value="" />
<table> <table>
<tr> <tr>
<td> <td>
...@@ -289,6 +290,5 @@ Note that the sout chain is used and sent to VLC by the input dialog ...@@ -289,6 +290,5 @@ Note that the sout chain is used and sent to VLC by the input dialog
<label for="sout_ttl">Time-To-Live (TTL)</label> <label for="sout_ttl">Time-To-Live (TTL)</label>
<input type="text" id="sout_ttl" onchange="update_sout()"/> <input type="text" id="sout_ttl" onchange="update_sout()"/>
</div> </div>
<input type="hidden" id="sout_extra" value="" />
</div> </div>
</div> </div>
...@@ -688,6 +688,7 @@ function hide_input( ) ...@@ -688,6 +688,7 @@ function hide_input( )
document.getElementById( 'input_file' ).style.display = 'none'; document.getElementById( 'input_file' ).style.display = 'none';
document.getElementById( 'input_disc' ).style.display = 'none'; document.getElementById( 'input_disc' ).style.display = 'none';
document.getElementById( 'input_network' ).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 */ /* update the input MRL using data from the input file helper */
...@@ -797,6 +798,22 @@ function update_input_net() ...@@ -797,6 +798,22 @@ function update_input_net()
mrl.value += " :access-filter=timeshift"; 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 * Sout dialog functions
*********************************************************************/ *********************************************************************/
...@@ -871,7 +888,7 @@ function update_sout() ...@@ -871,7 +888,7 @@ function update_sout()
mrl.value += "scodec="+value( 'sout_scodec' ); mrl.value += "scodec="+value( 'sout_scodec' );
alot = true; alot = true;
} }
mrl.value += value( 'sout_extra' ); mrl.value += value( 'sout_transcode_extra' );
mrl.value += "}"; mrl.value += "}";
} }
......
...@@ -41,13 +41,18 @@ var mosaic_delay = 0; ...@@ -41,13 +41,18 @@ var mosaic_delay = 0;
var cell_width = 0; var cell_width = 0;
var cell_height = 0; var cell_height = 0;
var streams = Object; var streams = Object();
var cells = Object; var cells = Object();
function mosaic_init() function mosaic_init()
{ {
document.getElementById( 'sout_extra' ).value = ",sfilter=mosaic"; document.getElementById( 'sout_transcode_extra' ).value = ",sfilter=mosaic";
mosaic_size_change(); 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 mosaic_size_change()
......
...@@ -36,7 +36,7 @@ function vlm_input_edit( dest ) ...@@ -36,7 +36,7 @@ function vlm_input_edit( dest )
function vlm_input_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' ); hide( 'input' );
document.getElementById( value( 'input_dest' ) ).focus(); document.getElementById( value( 'input_dest' ) ).focus();
} }
......
...@@ -67,10 +67,11 @@ input, textarea { ...@@ -67,10 +67,11 @@ input, textarea {
div.helper { div.helper {
margin: 10px; margin: 10px;
border: solid #ccc 2px; padding: 10px 0px;
border: solid 1px #000;
} }
div.helper hr { div.helper hr {
border: solid #ccc 1px; border: solid 1px #000;
} }
div.title { div.title {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment