}
+RTSPDestBox::RTSPDestBox( QWidget *_parent ) : VirtualDestBox( _parent )
+{
+ QGridLayout *layout = new QGridLayout( this );
+
+ QLabel *rtspOutput = new QLabel(
+ qtr( "This module outputs the transcoded stream to a network via "
+ "RTSP." ), this );
+ layout->addWidget( rtspOutput, 0, 0, 1, -1 );
+
+ QLabel *RTSPLabel = new QLabel( qtr("Path"), this );
+ QLabel *RTSPPortLabel = new QLabel( qtr("Port"), this );
+ layout->addWidget( RTSPLabel, 2, 0, 1, 1 );
+ layout->addWidget( RTSPPortLabel, 1, 0, 1, 1 );
+
+ RTSPEdit = new QLineEdit( this );
+ RTSPEdit->setText( "/" );
+
+ RTSPPort = new QSpinBox( this );
+ RTSPPort->setMaximumSize( QSize( 90, 16777215 ) );
+ RTSPPort->setAlignment( Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter );
+ RTSPPort->setMinimum( 1 );
+ RTSPPort->setMaximum( 65535 );
+ RTSPPort->setValue( 5544 );
+
+ layout->addWidget( RTSPEdit, 2, 1, 1, 1 );
+ layout->addWidget( RTSPPort, 1, 1, 1, 1 );
+ CS( RTSPPort );
+ CT( RTSPEdit );
+}
+
+QString RTSPDestBox::getMRL( const QString& mux )
+{
+ if( RTSPEdit->text().isEmpty() ) return "";
+
+ QString path = RTSPEdit->text();
+ if( path[0] != '/' )
+ path.prepend( qfu("/") );
+ QString port;
+ port.setNum( RTSPPort->value() );
+ QString sdp = "rtsp://:" + port + path;
+
+ SoutMrl m;
+ m.begin( "rtp" );
+ m.option( "sdp", sdp );
+ m.option( "mux", "ts" );
+ m.end();
+
+ return m.getMrl();
+}
+
+
UDPDestBox::UDPDestBox( QWidget *_parent ) : VirtualDestBox( _parent )
{
QGridLayout *layout = new QGridLayout( this );
ui.destBox->addItem( qtr( "File" ) );
ui.destBox->addItem( "HTTP" );
ui.destBox->addItem( "MS-WMSP (MMSH)" );
+ ui.destBox->addItem( "RTSP" );
ui.destBox->addItem( "RTP / MPEG Transport Stream" );
ui.destBox->addItem( "RTP Audio/Video Profile" );
ui.destBox->addItem( "UDP (legacy)" );
caption = qfu( "WMSP" );
break;
case 3:
+ db = new RTSPDestBox( this );
+ caption = qfu( "RTSP" );
+ break;
+ case 4:
db = new RTPDestBox( this, "ts" );
caption = "RTP/TS";
break;
- case 4:
+ case 5:
db = new RTPDestBox( this );
caption = "RTP/AVP";
break;
- case 5:
+ case 6:
db = new UDPDestBox( this );
caption = "UDP";
break;
- case 6:
+ case 7:
db = new ICEDestBox( this );
caption = "Icecast";
break;