* modules/gui/wxwindows/streamout.cpp: clean-up for sap support.
authorGildas Bazin <gbazin@videolan.org>
Sun, 6 Jul 2003 16:13:11 +0000 (16:13 +0000)
committerGildas Bazin <gbazin@videolan.org>
Sun, 6 Jul 2003 16:13:11 +0000 (16:13 +0000)
    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.

configure.ac
install-win32
modules/gui/wxwindows/streamout.cpp
modules/gui/wxwindows/wxwindows.h

index 7c774b6..e6610ed 100644 (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])
 
index 6a06590..3008ce1 100644 (file)
@@ -5,8 +5,10 @@
 ;;;;;;;;;;;;;\r
 ; CHANGELOG ;\r
 ;;;;;;;;;;;;;\r
-; modifications by Gildas Bazin <gbazin@netcourrier.com> 01 Mar 2003\r
-; . added a shortcut to the faq in the menu.\r
+; modifications by Gildas Bazin <gbazin@netcourrier.com> 6 Jul 2003\r
+; . Start menu shortcuts now created in the "All Users" section.\r
+; modifications by Gildas Bazin <gbazin@netcourrier.com> 6 Apr 2003\r
+; . added shortcut to the skins interface, added the default skin.\r
 ; modifications by Gildas Bazin <gbazin@netcourrier.com> 26 Feb 2003\r
 ; . added the locale directory.\r
 ; modifications by Samuel Hocevar <sam@zoy.org> 05 Apr 2002\r
@@ -33,6 +35,7 @@ Caption "VLC '${VERSION}' for Win32 Setup"
 \r
 CRCCheck on\r
 \r
+SetShellVarContext all\r
 InstallDir "$PROGRAMFILES\VideoLAN\VLC"\r
 \r
 ; check if the program has already been installed, if so, take this dir\r
index b52e5a7..695abf7 100644 (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 );
-
-    /* Update access type panel */
+    panel->SetSizerAndFit( panel_sizer );
 
-        misc_checkboxes[SAP_ANNOUNCE]->Disable();
-        misc_subpanels[SAP_ANNOUNCE]->Disable();
+    /* Update misc panel */
+    misc_subpanels[SAP_MISC]->Disable();
+    sap_addr->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.
  *****************************************************************************/
index db2ea6c..4184e59 100644 (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];