* modules/gui/wxwindows/streamout.cpp: clean-up for sap support.

Added a couple of transcoding codecs (WMV2, MJPG, mp3).
    The output filename is now surrounded by quotes and the MRL is updated correctly on codec change.
* install-win32: start menu shortucts are installed in the "All Users" section.
* configure.ac: added a --with-ffmpeg-mp3lame option for when ffmpeg was compiled with mp3lame support.
This commit is contained in:
Gildas Bazin 2003-07-06 16:13:11 +00:00
parent e25dd0975d
commit ff373bfcd5
4 changed files with 68 additions and 67 deletions

View File

@ -1,5 +1,5 @@
dnl Autoconf settings for vlc
dnl $Id: configure.ac,v 1.23 2003/07/03 19:25:51 garf Exp $
dnl $Id: configure.ac,v 1.24 2003/07/06 16:13:10 gbazin Exp $
AC_INIT(vlc,0.6.0)
@ -1500,6 +1500,11 @@ AC_ARG_ENABLE(ffmpeg,
[ --enable-ffmpeg ffmpeg codec (default enabled)])
if test "${enable_ffmpeg}" != "no"
then
AC_ARG_WITH(ffmpeg-mp3lame,
[ --with-ffmpeg-mp3lame if ffmpeg has been compiled with mp3lame support],
[ AX_ADD_LDFLAGS([stream_out_transcode],[-lmp3lame])
AX_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
AC_ARG_WITH(ffmpeg-tree,
[ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])

View File

@ -5,8 +5,10 @@
;;;;;;;;;;;;;
; CHANGELOG ;
;;;;;;;;;;;;;
; modifications by Gildas Bazin <gbazin@netcourrier.com> 01 Mar 2003
; . added a shortcut to the faq in the menu.
; modifications by Gildas Bazin <gbazin@netcourrier.com> 6 Jul 2003
; . Start menu shortcuts now created in the "All Users" section.
; modifications by Gildas Bazin <gbazin@netcourrier.com> 6 Apr 2003
; . added shortcut to the skins interface, added the default skin.
; modifications by Gildas Bazin <gbazin@netcourrier.com> 26 Feb 2003
; . added the locale directory.
; modifications by Samuel Hocevar <sam@zoy.org> 05 Apr 2002
@ -33,6 +35,7 @@ Caption "VLC '${VERSION}' for Win32 Setup"
CRCCheck on
SetShellVarContext all
InstallDir "$PROGRAMFILES\VideoLAN\VLC"
; check if the program has already been installed, if so, take this dir

View File

@ -2,7 +2,7 @@
* streamout.cpp : wxWindows plugin for vlc
*****************************************************************************
* Copyright (C) 2000-2001 VideoLAN
* $Id: streamout.cpp,v 1.19 2003/07/04 15:20:49 adn Exp $
* $Id: streamout.cpp,v 1.20 2003/07/06 16:13:11 gbazin Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
@ -81,7 +81,7 @@ enum
enum
{
SAP_ANNOUNCE = 0
SAP_MISC = 0
};
@ -110,7 +110,7 @@ enum
VideoTranscEnable_Event, VideoTranscCodec_Event, VideoTranscBitrate_Event,
AudioTranscEnable_Event, AudioTranscCodec_Event, AudioTranscBitrate_Event,
SAPType_Event, SAPAddr_Event
SAPMisc_Event, SAPAddr_Event
};
BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
@ -150,12 +150,16 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
EVT_CHECKBOX(VideoTranscEnable_Event, SoutDialog::OnTranscodingEnable)
EVT_CHECKBOX(AudioTranscEnable_Event, SoutDialog::OnTranscodingEnable)
EVT_COMBOBOX(VideoTranscCodec_Event, SoutDialog::OnTranscodingChange)
EVT_TEXT(VideoTranscCodec_Event, SoutDialog::OnTranscodingChange)
EVT_COMBOBOX(AudioTranscCodec_Event, SoutDialog::OnTranscodingChange)
EVT_TEXT(AudioTranscCodec_Event, SoutDialog::OnTranscodingChange)
EVT_COMBOBOX(VideoTranscBitrate_Event, SoutDialog::OnTranscodingChange)
EVT_TEXT(VideoTranscBitrate_Event, SoutDialog::OnTranscodingChange)
EVT_COMBOBOX(AudioTranscBitrate_Event, SoutDialog::OnTranscodingChange)
EVT_TEXT(AudioTranscBitrate_Event, SoutDialog::OnTranscodingChange)
/* Events generated by the misc panel */
EVT_CHECKBOX(SAPType_Event, SoutDialog::OnSAPTypeChange)
EVT_CHECKBOX(SAPMisc_Event, SoutDialog::OnSAPMiscChange)
EVT_TEXT(SAPAddr_Event, SoutDialog::OnSAPAddrChange)
END_EVENT_TABLE()
@ -298,8 +302,8 @@ void SoutDialog::UpdateMRL()
{
if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
dup_opts += wxT("dst=std{access=file,mux=");
dup_opts += encapsulation + wxT(",url=");
dup_opts += file_combo->GetValue() + wxT("}");
dup_opts += encapsulation + wxT(",url=\"");
dup_opts += file_combo->GetValue() + wxT("\"}");
}
if( access_checkboxes[HTTP_ACCESS_OUT]->IsChecked() )
{
@ -319,15 +323,15 @@ void SoutDialog::UpdateMRL()
dup_opts += net_addrs[UDP_ACCESS_OUT]->GetLineText(0);
dup_opts += wxString::Format( wxT(":%d"),
net_ports[UDP_ACCESS_OUT]->GetValue() );
}
if( access_checkboxes[UDP_ACCESS_OUT]->IsChecked() && misc_checkboxes[SAP_ANNOUNCE]->IsChecked() ) /* SAP only if UDP ÃÃ*/
{
dup_opts += wxT(",sap=");
dup_opts += misc_addrs[SAP_ANNOUNCE]-> GetLineText(0);
}
if( access_checkboxes[UDP_ACCESS_OUT]->IsChecked() )
{
dup_opts += wxT("}"); /* the bracket must be closed after SAP ! */
/* SAP only if UDP */
if( sap_checkbox->IsChecked() )
{
dup_opts += wxT(",sap=");
dup_opts += sap_addr->GetLineText(0);
}
dup_opts += wxT("}");
}
if( access_checkboxes[RTP_ACCESS_OUT]->IsChecked() )
{
@ -467,53 +471,44 @@ wxPanel *SoutDialog::MiscPanel( wxWindow* parent )
// wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 4, 20 );
wxStaticBox *panel_box = new wxStaticBox( panel, -1,
wxU(_("Miscellaneous Options")) );
wxU(_("Miscellaneous Options")) );
wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
wxVERTICAL );
static const wxString misc_output_array[] =
{
wxU(_("SAP Announce"))
};
misc_checkboxes[SAP_ANNOUNCE] = new wxCheckBox( panel,SAPType_Event,
misc_output_array[SAP_ANNOUNCE] );
misc_subpanels[SAP_ANNOUNCE] = new wxPanel( panel, -1 );
/* SAP Row */
/* SAP Row */
wxStaticText *label;
wxFlexGridSizer *subpanel_sizer;
subpanel_sizer = new wxFlexGridSizer( 4, 1, 20 );
label = new wxStaticText( misc_subpanels[SAP_ANNOUNCE], -1, wxU(_("Channel Name ")) );
misc_addrs[SAP_ANNOUNCE] = new wxTextCtrl( misc_subpanels[SAP_ANNOUNCE],
SAPAddr_Event,
wxT(""), wxDefaultPosition,
wxSize( 200, -1 ), wxTE_PROCESS_ENTER);
misc_subpanels[SAP_MISC] = new wxPanel( panel, -1 );
subpanel_sizer = new wxFlexGridSizer( 4, 2, 20 );
subpanel_sizer->Add( label, 0,
sap_checkbox = new wxCheckBox( misc_subpanels[SAP_MISC], SAPMisc_Event,
wxU(_("SAP Announce")) );
label = new wxStaticText( misc_subpanels[SAP_MISC], -1,
wxU(_("Channel Name ")) );
sap_addr = new wxTextCtrl( misc_subpanels[SAP_MISC], SAPAddr_Event,
wxT(""), wxDefaultPosition,
wxSize( 200, -1 ), wxTE_PROCESS_ENTER);
subpanel_sizer->Add( sap_checkbox, 0,
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
subpanel_sizer->Add( misc_addrs[SAP_ANNOUNCE], 1, wxEXPAND |
subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
subpanel_sizer->Add( sap_addr, 1, wxEXPAND |
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
misc_subpanels[SAP_ANNOUNCE]->SetSizerAndFit( subpanel_sizer );
misc_subpanels[SAP_MISC]->SetSizerAndFit( subpanel_sizer );
/* Stuff everything into the main panel */
panel_sizer->Add( misc_checkboxes[SAP_ANNOUNCE], 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
panel_sizer->Add( misc_subpanels[SAP_ANNOUNCE], 1,
/* Stuff everything into the main panel */
panel_sizer->Add( misc_subpanels[SAP_MISC], 1,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
panel->SetSizerAndFit( panel_sizer );
panel->SetSizerAndFit( panel_sizer );
/* Update access type panel */
/* Update misc panel */
misc_subpanels[SAP_MISC]->Disable();
sap_addr->Disable();
misc_checkboxes[SAP_ANNOUNCE]->Disable();
misc_subpanels[SAP_ANNOUNCE]->Disable();
return panel;
return panel;
}
wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent )
@ -576,6 +571,8 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
wxT("H263"),
wxT("I263"),
wxT("WMV1"),
wxT("WMV2"),
wxT("MJPG")
};
static const wxString vbitrates_array[] =
{
@ -616,6 +613,7 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
static const wxString acodecs_array[] =
{
wxT("mpga"),
wxT("mp3"),
wxT("a52")
};
static const wxString abitrates_array[] =
@ -701,9 +699,8 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event )
switch( i_access_type )
{
case UDP_ACCESS_OUT:
{
misc_checkboxes[SAP_ANNOUNCE]->Enable( event.GetInt() );
}
misc_subpanels[SAP_MISC]->Enable( event.GetInt() );
case RTP_ACCESS_OUT:
for( i = 1; i < ENCAPS_NUM; i++ )
{
@ -720,13 +717,11 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event )
}
/*****************************************************************************
* SAPType panel event methods.
* SAPMisc panel event methods.
*****************************************************************************/
void SoutDialog::OnSAPTypeChange( wxCommandEvent& event )
void SoutDialog::OnSAPMiscChange( wxCommandEvent& event )
{
i_sap_type = event.GetId()-SAPType_Event;
misc_subpanels[i_sap_type]->Enable( event.GetInt() );
sap_addr->Enable( event.GetInt() );
UpdateMRL();
}
@ -738,7 +733,6 @@ void SoutDialog::OnSAPAddrChange( wxCommandEvent& WXUNUSED(event) )
UpdateMRL();
}
/*****************************************************************************
* File access output event methods.
*****************************************************************************/

View File

@ -2,7 +2,7 @@
* wxwindows.h: private wxWindows interface description
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: wxwindows.h,v 1.37 2003/07/04 12:20:32 adn Exp $
* $Id: wxwindows.h,v 1.38 2003/07/06 16:13:11 gbazin Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
@ -315,7 +315,6 @@ private:
void OnCancel( wxCommandEvent& event );
void OnMRLChange( wxCommandEvent& event );
void OnAccessTypeChange( wxCommandEvent& event );
void OnSAPTypeChange( wxCommandEvent& event );
/* Event handlers for the file access output */
void OnFileChange( wxCommandEvent& event );
@ -334,6 +333,9 @@ private:
void OnTranscodingEnable( wxCommandEvent& event );
void OnTranscodingChange( wxCommandEvent& event );
/* Event handlers for the misc panel */
void OnSAPMiscChange( wxCommandEvent& event );
DECLARE_EVENT_TABLE();
intf_thread_t *p_intf;
@ -352,12 +354,9 @@ private:
wxTextCtrl *net_addrs[5];
/* Controls for the SAP announces */
wxPanel *misc_subpanels[1];
wxCheckBox *misc_checkboxes[1];
int i_sap_type;
wxTextCtrl *misc_addrs[1];
wxPanel *misc_subpanels[1];
wxCheckBox *sap_checkbox;
wxTextCtrl *sap_addr;
/* Controls for the encapsulation */
wxRadioButton *encapsulation_radios[5];