Commit 61930d9a authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Try to fix Sout Dialog ( Part 1 )

This should fix part of the behaviour for RTP/UDP and the video/audio port.
MRL is not correct since I don't exactly  how it should look like for rtp with two ports.
parent 33e8266d
/*****************************************************************************
* sout.cpp : Stream output dialog ( old-style )
****************************************************************************
* Copyright (C) 2006 the VideoLAN team
* Copyright (C) 2007-2008 the VideoLAN team
* Copyright (C) 2007 Société des arts technologiques
* Copyright (C) 2007 Savoir-faire Linux
*
......@@ -26,6 +26,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
......@@ -103,8 +104,8 @@ SoutDialog::SoutDialog( QWidget *parent, intf_thread_t *_p_intf,
/* UI stuff */
ui.setupUi( this );
ui.UDPEdit->hide(); ui.UDPLabel->hide();
ui.UDPPort->hide(); ui.UDPPortLabel->hide();
changeUDPandRTPmess( false );
/* ADD HERE for new profiles */
#define ADD_PROFILE( name, shortname ) ui.profileBox->addItem( qtr( name ), QVariant( QString( shortname ) ) );
ADD_PROFILE( "Custom" , "Custom" )
......@@ -149,8 +150,10 @@ SoutDialog::SoutDialog( QWidget *parent, intf_thread_t *_p_intf,
ADD_SCALING( "1.75" )
ADD_SCALING( "2" )
ui.mrlEdit->setToolTip ( qtr( "Stream output string.\n This is automatically generated "
"when you change the above settings,\n but you can update it manually." ) ) ;
ui.mrlEdit->setToolTip ( qtr( "Stream output string.\n"
"This is automatically generated "
"when you change the above settings,\n"
"but you can update it manually." ) ) ;
// /* Connect everything to the updateMRL function */
#define CB( x ) CONNECT( ui.x, toggled( bool ), this, updateMRL() );
......@@ -192,11 +195,11 @@ SoutDialog::SoutDialog( QWidget *parent, intf_thread_t *_p_intf,
BUTTONACT( cancelButton, cancel() );
if( b_transcode_only ) toggleSout();
}
CONNECT( ui.UDPOutput, toggled( bool ), this, changeUDPandRTPmess( bool ) );}
void SoutDialog::fileBrowse()
{
ui.tabWidget->setTabEnabled( 0,false );
QString fileName = QFileDialog::getSaveFileName( this, qtr( "Save file" ), "",
qtr( "Containers (*.ps *.ts *.mpg *.ogg *.asf *.mp4 *.mov *.wav *.raw *.flv)" ) );
ui.fileEdit->setText( fileName );
......@@ -232,18 +235,15 @@ void SoutDialog::setSTranscodeOptions( bool b_trans )
void SoutDialog::setRawOptions( bool b_raw )
{
if( b_raw )
{
ui.tabWidget->setDisabled( true );
}
else
{
SoutDialog::setOptions();
}
}
void SoutDialog::setOptions()
{
QString profileString = ui.profileBox->itemData( ui.profileBox->currentIndex() ).toString();
QString profileString =
ui.profileBox->itemData( ui.profileBox->currentIndex() ).toString();
msg_Dbg( p_intf, "Profile Used: %s", qta( profileString ));
int index;
......@@ -267,18 +267,15 @@ void SoutDialog::setOptions()
/* If the profile is not a custom one, then disable the tabWidget */
if ( profileString == "Custom" )
{
ui.tabWidget->setEnabled( true );
}
else
{
ui.tabWidget->setDisabled( true );
}
/* Update the MRL !! */
updateMRL();
}
//FIXME
void SoutDialog::toggleSout()
{
//Toggle all the streaming options.
......@@ -298,14 +295,27 @@ void SoutDialog::toggleSout()
updateGeometry();
}
void SoutDialog::changeUDPandRTPmess( bool b_udp )
{
ui.RTPEdit->setVisible( !b_udp );
ui.RTPLabel->setVisible( !b_udp );
ui.RTPPort->setVisible( !b_udp );
ui.RTPPortLabel->setVisible( !b_udp );
ui.UDPEdit->setVisible( b_udp );
ui.UDPLabel->setVisible( b_udp );
ui.UDPPortLabel->setText( b_udp ? qtr( "Port:") : qtr( "Video Port:" ) );
ui.RTPPortLabel->setText( b_udp ? qtr( "Port:") : qtr( "Audio Port:" ) );
}
void SoutDialog::ok()
{
mrl = ui.mrlEdit->text();
accept();
}
void SoutDialog::cancel()
{
mrl = ui.mrlEdit->text();
mrl.clear();
reject();
}
......@@ -411,7 +421,8 @@ void SoutDialog::updateMRL()
mrl.append( "}" );
}
if ( sout.b_local || sout.b_file || sout.b_http || sout.b_mms || sout.b_rtp || sout.b_udp )
if ( sout.b_local || sout.b_file || sout.b_http ||
sout.b_mms || sout.b_rtp || sout.b_udp )
{
#define ISMORE() if ( more ) mrl.append( "," );
......
......@@ -86,6 +86,7 @@ private slots:
void setATranscodeOptions( bool );
void setSTranscodeOptions( bool );
void setRawOptions( bool );
void changeUDPandRTPmess( bool );
};
#endif
......@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>617</width>
<height>678</height>
<width>726</width>
<height>782</height>
</rect>
</property>
<property name="sizePolicy" >
......@@ -279,6 +279,9 @@
</item>
<item row="5" column="0" >
<widget class="QCheckBox" name="UDPOutput" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="toolTip" >
<string>_("Using this option is not recommended in most of the cases.")</string>
</property>
......@@ -289,16 +292,26 @@
</item>
<item row="5" column="1" >
<widget class="QLabel" name="UDPLabel" >
<property name="enabled" >
<bool>true</bool>
</property>
<property name="text" >
<string>_("Address")</string>
</property>
</widget>
</item>
<item row="5" column="2" >
<widget class="QLineEdit" name="UDPEdit" />
<widget class="QLineEdit" name="UDPEdit" >
<property name="enabled" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="3" >
<widget class="QLabel" name="UDPPortLabel" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="text" >
<string>_("Port")</string>
</property>
......@@ -309,6 +322,9 @@
</item>
<item row="5" column="4" >
<widget class="QSpinBox" name="UDPPort" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="maximumSize" >
<size>
<width>90</width>
......@@ -445,6 +461,14 @@
<number>1</number>
</property>
<widget class="QWidget" name="muxer" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>704</width>
<height>148</height>
</rect>
</property>
<attribute name="title" >
<string>_("Encapsulation")</string>
</attribute>
......@@ -532,6 +556,14 @@
<property name="enabled" >
<bool>true</bool>
</property>
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>704</width>
<height>148</height>
</rect>
</property>
<attribute name="title" >
<string>_("Video codec")</string>
</attribute>
......@@ -621,6 +653,14 @@
</layout>
</widget>
<widget class="QWidget" name="audioCodec" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>704</width>
<height>148</height>
</rect>
</property>
<attribute name="title" >
<string>_("Audio codec")</string>
</attribute>
......@@ -713,6 +753,14 @@
</layout>
</widget>
<widget class="QWidget" name="subtitles" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>704</width>
<height>148</height>
</rect>
</property>
<attribute name="title" >
<string>_("Subtitles")</string>
</attribute>
......@@ -851,7 +899,7 @@
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
......@@ -1224,102 +1272,6 @@
</hint>
</hints>
</connection>
<connection>
<sender>rawInput</sender>
<signal>clicked(bool)</signal>
<receiver>RTPOutput</receiver>
<slot>setDisabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>595</x>
<y>75</y>
</hint>
<hint type="destinationlabel" >
<x>66</x>
<y>172</y>
</hint>
</hints>
</connection>
<connection>
<sender>rawInput</sender>
<signal>clicked(bool)</signal>
<receiver>MMSHOutput</receiver>
<slot>setDisabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>485</x>
<y>92</y>
</hint>
<hint type="destinationlabel" >
<x>46</x>
<y>141</y>
</hint>
</hints>
</connection>
<connection>
<sender>UDPOutput</sender>
<signal>toggled(bool)</signal>
<receiver>UDPPort</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>98</x>
<y>212</y>
</hint>
<hint type="destinationlabel" >
<x>493</x>
<y>212</y>
</hint>
</hints>
</connection>
<connection>
<sender>UDPOutput</sender>
<signal>toggled(bool)</signal>
<receiver>UDPPortLabel</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>107</x>
<y>212</y>
</hint>
<hint type="destinationlabel" >
<x>396</x>
<y>212</y>
</hint>
</hints>
</connection>
<connection>
<sender>UDPOutput</sender>
<signal>toggled(bool)</signal>
<receiver>UDPLabel</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>107</x>
<y>212</y>
</hint>
<hint type="destinationlabel" >
<x>241</x>
<y>212</y>
</hint>
</hints>
</connection>
<connection>
<sender>UDPOutput</sender>
<signal>toggled(bool)</signal>
<receiver>UDPEdit</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>107</x>
<y>212</y>
</hint>
<hint type="destinationlabel" >
<x>315</x>
<y>212</y>
</hint>
</hints>
</connection>
<connection>
<sender>IcecastOutput</sender>
<signal>clicked(bool)</signal>
......@@ -1448,5 +1400,53 @@
</hint>
</hints>
</connection>
<connection>
<sender>RTPOutput</sender>
<signal>clicked(bool)</signal>
<receiver>UDPOutput</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>110</x>
<y>190</y>
</hint>
<hint type="destinationlabel" >
<x>110</x>
<y>225</y>
</hint>
</hints>
</connection>
<connection>
<sender>RTPOutput</sender>
<signal>clicked(bool)</signal>
<receiver>UDPPort</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>110</x>
<y>190</y>
</hint>
<hint type="destinationlabel" >
<x>597</x>
<y>225</y>
</hint>
</hints>
</connection>
<connection>
<sender>RTPOutput</sender>
<signal>clicked(bool)</signal>
<receiver>UDPPortLabel</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>110</x>
<y>190</y>
</hint>
<hint type="destinationlabel" >
<x>497</x>
<y>225</y>
</hint>
</hints>
</connection>
</connections>
</ui>
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