Changeset 48190fd306402746f081f290f0223642b1dfeecf
- Timestamp:
- 05/11/03 18:57:29 (5 years ago)
- git-parent:
- Files:
-
- modules/demux/demuxdump.c (modified) (3 diffs)
- modules/gui/wxwindows/open.cpp (modified) (12 diffs)
- modules/gui/wxwindows/streamout.cpp (modified) (9 diffs)
- modules/gui/wxwindows/wxwindows.h (modified) (7 diffs)
- src/input/input.c (modified) (3 diffs)
- src/misc/configuration.c (modified) (2 diffs)
- src/misc/modules.c (modified) (2 diffs)
- src/misc/variables.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
modules/demux/demuxdump.c
r091aff7 r48190fd 3 3 ***************************************************************************** 4 4 * Copyright (C) 2001 VideoLAN 5 * $Id: demuxdump.c,v 1.1 0 2003/09/07 22:48:29 fenrirExp $5 * $Id: demuxdump.c,v 1.11 2003/11/05 17:57:29 gbazin Exp $ 6 6 * 7 7 * Authors: Laurent Aimar <fenrir@via.ecp.fr> … … 80 80 input_thread_t *p_input = (input_thread_t *)p_this; 81 81 demux_sys_t *p_demux; 82 82 vlc_value_t val; 83 83 char *psz_name; 84 84 … … 94 94 } 95 95 96 psz_name = config_GetPsz( p_input, "demuxdump-file" ); 96 var_Create( p_input, "demuxdump-file", VLC_VAR_FILE|VLC_VAR_DOINHERIT ); 97 var_Get( p_input, "demuxdump-file", &val ); 98 psz_name = val.psz_string; 97 99 if( !psz_name || !*psz_name ) 98 100 { modules/gui/wxwindows/open.cpp
r84b846b r48190fd 3 3 ***************************************************************************** 4 4 * Copyright (C) 2000-2001 VideoLAN 5 * $Id: open.cpp,v 1. 39 2003/10/29 17:32:54 zorglubExp $5 * $Id: open.cpp,v 1.40 2003/11/05 17:57:29 gbazin Exp $ 6 6 * 7 7 * Authors: Gildas Bazin <gbazin@netcourrier.com> … … 92 92 SoutEnable_Event, 93 93 SoutSettings_Event, 94 95 DemuxDump_Event,96 DemuxDumpEnable_Event,97 DemuxDumpBrowse_Event,98 94 }; 99 95 … … 148 144 EVT_BUTTON(SoutSettings_Event, OpenDialog::OnSoutSettings) 149 145 150 /* Events generated by the demux dump buttons */151 EVT_CHECKBOX(DemuxDumpEnable_Event, OpenDialog::OnDemuxDumpEnable)152 EVT_TEXT(DemuxDump_Event, OpenDialog::OnDemuxDumpChange)153 EVT_BUTTON(DemuxDumpBrowse_Event, OpenDialog::OnDemuxDumpBrowse)154 155 146 /* Hide the window when the user closes the window */ 156 147 EVT_CLOSE(OpenDialog::OnCancel) … … 185 176 sout_dialog = NULL; 186 177 subsfile_dialog = NULL; 187 demuxdump_dialog = NULL;188 178 189 179 /* Create a panel to put everything in */ … … 217 207 218 208 wxFlexGridSizer *sout_sizer = NULL; 219 wxBoxSizer *demuxdump_sizer = NULL;220 209 wxStaticLine *static_line = NULL; 221 222 demuxdump_checkbox = NULL;223 demuxdump_textctrl = NULL;224 210 225 211 if( i_method == OPEN_NORMAL ) … … 249 235 sout_sizer->Add( sout_button, 1, wxALIGN_LEFT | 250 236 wxALIGN_CENTER_VERTICAL ); 251 252 /* Create Demux Dump checkox */253 demuxdump_sizer = new wxBoxSizer( wxHORIZONTAL );254 demuxdump_checkbox = new wxCheckBox( panel, DemuxDumpEnable_Event,255 wxU(_("Capture input stream")) );256 demuxdump_checkbox->SetToolTip(257 wxU(_("Capture the stream you are playing to a file")) );258 demuxdump_textctrl = new wxTextCtrl( panel, DemuxDump_Event, wxT(""),259 wxDefaultPosition, wxDefaultSize,260 wxTE_PROCESS_ENTER );261 demuxdump_button = new wxButton( panel, DemuxDumpBrowse_Event,262 wxU(_("Browse...")) );263 264 char *psz_demuxdump = config_GetPsz( p_intf, "demuxdump-file" );265 if( psz_demuxdump && *psz_demuxdump )266 {267 demuxdump_textctrl->SetValue( wxU(psz_demuxdump) );268 }269 if( psz_demuxdump ) free( psz_demuxdump );270 271 demuxdump_textctrl->Disable();272 demuxdump_button->Disable();273 demuxdump_sizer->Add( demuxdump_checkbox, 0,274 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );275 demuxdump_sizer->Add( demuxdump_button, 0,276 wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL, 10 );277 demuxdump_sizer->Add( demuxdump_textctrl, 1, wxRIGHT, 10 );278 237 279 238 /* Separation */ … … 336 295 { 337 296 panel_sizer->Add( sout_sizer, 0, wxALIGN_LEFT | wxALL, 5 ); 338 panel_sizer->Add( demuxdump_sizer, 0, wxEXPAND | wxALIGN_LEFT339 | wxALL, 5 );340 297 panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 ); 341 298 } … … 357 314 if( sout_dialog ) delete sout_dialog; 358 315 if( subsfile_dialog ) delete subsfile_dialog; 359 if( demuxdump_dialog ) delete demuxdump_dialog;360 316 } 361 317 … … 640 596 i_current_access_method = i_access_method; 641 597 642 /* Check if the user asked for demuxdump */643 if( demuxdump_checkbox )644 {645 if( demuxdump_checkbox->GetValue() )646 {647 demux = wxT("/demuxdump");648 }649 }650 598 switch( i_access_method ) 651 599 { … … 1014 962 { 1015 963 subsfile_button->Enable( event.GetInt() != 0 ); 1016 if( demuxdump_checkbox )1017 {1018 if( event.GetInt() && demuxdump_checkbox->IsChecked() )1019 {1020 demuxdump_checkbox->SetValue( 0 );1021 wxCommandEvent event = wxCommandEvent( wxEVT_NULL );1022 event.SetInt( 0 );1023 OnDemuxDumpEnable( event );1024 }1025 }1026 964 } 1027 965 … … 1053 991 { 1054 992 sout_button->Enable( event.GetInt() != 0 ); 1055 if( event.GetInt() && demuxdump_checkbox->IsChecked() )1056 {1057 demuxdump_checkbox->SetValue( 0 );1058 wxCommandEvent event = wxCommandEvent( wxEVT_NULL );1059 event.SetInt( 0 );1060 OnDemuxDumpEnable( event );1061 }1062 993 } 1063 994 … … 1072 1003 sout_mrl = sout_dialog->GetOptions(); 1073 1004 } 1074 }1075 1076 /*****************************************************************************1077 * Demux dump event methods.1078 *****************************************************************************/1079 void OpenDialog::OnDemuxDumpEnable( wxCommandEvent& event )1080 {1081 demuxdump_textctrl->Enable( event.GetInt() != 0 );1082 demuxdump_button->Enable( event.GetInt() != 0 );1083 1084 if( event.GetInt() )1085 {1086 sout_checkbox->SetValue( 0 );1087 subsfile_checkbox->SetValue( 0 );1088 wxCommandEvent event = wxCommandEvent( wxEVT_NULL );1089 event.SetInt( 0 );1090 OnSoutEnable( event );1091 OnSubsFileEnable( event );1092 }1093 1094 UpdateMRL( i_current_access_method );1095 }1096 1097 void OpenDialog::OnDemuxDumpBrowse( wxCommandEvent& WXUNUSED(event) )1098 {1099 if( demuxdump_dialog == NULL )1100 demuxdump_dialog = new wxFileDialog( this, wxU(_("Save file")),1101 wxT(""), wxT(""), wxT("*"), wxSAVE );1102 1103 if( demuxdump_dialog && demuxdump_dialog->ShowModal() == wxID_OK )1104 {1105 demuxdump_textctrl->SetValue( demuxdump_dialog->GetPath() );1106 wxCommandEvent event = wxCommandEvent( wxEVT_NULL );1107 OnDemuxDumpChange( event );1108 }1109 }1110 1111 void OpenDialog::OnDemuxDumpChange( wxCommandEvent& WXUNUSED(event) )1112 {1113 config_PutPsz( p_intf, "demuxdump-file",1114 demuxdump_textctrl->GetValue().mb_str() );1115 1005 } 1116 1006 modules/gui/wxwindows/streamout.cpp
rfe3f88c r48190fd 3 3 ***************************************************************************** 4 4 * Copyright (C) 2000-2001 VideoLAN 5 * $Id: streamout.cpp,v 1.3 3 2003/10/27 22:13:36gbazin Exp $5 * $Id: streamout.cpp,v 1.34 2003/11/05 17:57:29 gbazin Exp $ 6 6 * 7 7 * Authors: Gildas Bazin <gbazin@netcourrier.com> … … 56 56 FileBrowse_Event, 57 57 FileName_Event, 58 FileDump_Event, 58 59 59 60 AccessType1_Event, AccessType2_Event, AccessType3_Event, … … 88 89 EVT_TEXT(FileName_Event, SoutDialog::OnFileChange) 89 90 EVT_BUTTON(FileBrowse_Event, SoutDialog::OnFileBrowse) 91 EVT_CHECKBOX(FileDump_Event, SoutDialog::OnFileDump) 90 92 91 93 EVT_TEXT(NetPort1_Event, SoutDialog::OnNetChange) … … 137 139 END_EVENT_TABLE() 138 140 141 #if 0 142 /***************************************************************************** 143 * Demux dump event methods. 144 *****************************************************************************/ 145 void OpenDialog::OnDemuxDumpEnable( wxCommandEvent& event ) 146 { 147 demuxdump_textctrl->Enable( event.GetInt() != 0 ); 148 demuxdump_button->Enable( event.GetInt() != 0 ); 149 150 if( event.GetInt() ) 151 { 152 sout_checkbox->SetValue( 0 ); 153 subsfile_checkbox->SetValue( 0 ); 154 wxCommandEvent event = wxCommandEvent( wxEVT_NULL ); 155 event.SetInt( 0 ); 156 OnSoutEnable( event ); 157 OnSubsFileEnable( event ); 158 } 159 160 UpdateMRL( i_current_access_method ); 161 } 162 163 void OpenDialog::OnDemuxDumpChange( wxCommandEvent& WXUNUSED(event) ) 164 { 165 } 166 #endif 167 139 168 /***************************************************************************** 140 169 * Constructor. … … 172 201 173 202 /* Create the output encapsulation panel */ 174 wxPanel *encapsulation_panel = EncapsulationPanel( panel );203 encapsulation_panel = EncapsulationPanel( panel ); 175 204 176 205 /* Create the access output panel */ 177 wxPanel *access_panel = AccessPanel( panel );206 access_panel = AccessPanel( panel ); 178 207 179 208 /* Create the transcoding panel */ 180 wxPanel *transcoding_panel = TranscodingPanel( panel );209 transcoding_panel = TranscodingPanel( panel ); 181 210 182 211 /* Create the Misc panel */ 183 wxPanel *misc_panel = MiscPanel( panel );212 misc_panel = MiscPanel( panel ); 184 213 185 214 /* Separation */ … … 228 257 void SoutDialog::UpdateMRL() 229 258 { 259 /* Check the demux dump option */ 260 if( dump_checkbox->IsChecked() ) 261 { 262 wxString dumpfile; 263 264 if( file_combo->GetValue().size() ) 265 dumpfile = wxT(" :demuxdump-file=\"") + 266 file_combo->GetValue() + wxT("\""); 267 mrl_combo->SetValue( wxT(":demux=demuxdump") + dumpfile ); 268 269 return; 270 } 271 230 272 /* Let's start with the transcode options */ 231 273 wxString transcode; … … 405 447 406 448 /* File row */ 407 subpanel_sizer = new wxFlexGridSizer( 3, 1, 20 );449 subpanel_sizer = new wxFlexGridSizer( 3, 2, 20 ); 408 450 label = new wxStaticText( access_subpanels[1], -1, wxU(_("Filename")) ); 409 451 file_combo = new wxComboBox( access_subpanels[1], FileName_Event, wxT(""), … … 416 458 subpanel_sizer->Add( browse_button, 0, 417 459 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL ); 460 subpanel_sizer->Add( new wxPanel(access_subpanels[1], -1), 0, 461 wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL ); 462 subpanel_sizer->Add( new wxPanel(access_subpanels[1], -1), 0, 463 wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL ); 464 dump_checkbox = new wxCheckBox( access_subpanels[1], FileDump_Event, 465 wxU(_("Dump raw input")) ); 466 subpanel_sizer->Add( dump_checkbox, 0, 467 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxTOP, 5 ); 418 468 419 469 access_subpanels[1]->SetSizerAndFit( subpanel_sizer ); … … 818 868 } 819 869 870 void SoutDialog::OnFileDump( wxCommandEvent& event ) 871 { 872 misc_panel->Enable( !event.GetInt() ); 873 encapsulation_panel->Enable( !event.GetInt() ); 874 transcoding_panel->Enable( !event.GetInt() ); 875 876 for( int i = 0; i < ACCESS_OUT_NUM; i++ ) 877 { 878 if( i != FILE_ACCESS_OUT ) 879 { 880 access_subpanels[i]->Enable( !event.GetInt() ); 881 access_checkboxes[i]->Enable( !event.GetInt() ); 882 } 883 } 884 885 UpdateMRL(); 886 } 887 820 888 /***************************************************************************** 821 889 * Net access output event methods. modules/gui/wxwindows/wxwindows.h
r84b846b r48190fd 3 3 ***************************************************************************** 4 4 * Copyright (C) 1999, 2000 VideoLAN 5 * $Id: wxwindows.h,v 1.6 6 2003/10/29 17:32:54 zorglubExp $5 * $Id: wxwindows.h,v 1.67 2003/11/05 17:57:29 gbazin Exp $ 6 6 * 7 7 * Authors: Gildas Bazin <gbazin@netcourrier.com> … … 352 352 void OnSoutSettings( wxCommandEvent& WXUNUSED(event) ); 353 353 354 /* Event handlers for the demux dump */355 void OnDemuxDumpEnable( wxCommandEvent& event );356 void OnDemuxDumpBrowse( wxCommandEvent& event );357 void OnDemuxDumpChange( wxCommandEvent& event );358 359 354 DECLARE_EVENT_TABLE(); 360 355 … … 407 402 SoutDialog *sout_dialog; 408 403 wxArrayString sout_mrl; 409 410 /* Controls for the demux dump */411 wxTextCtrl *demuxdump_textctrl;412 wxButton *demuxdump_button;413 wxCheckBox *demuxdump_checkbox;414 wxFileDialog *demuxdump_dialog;415 404 }; 416 405 … … 550 539 void OnFileChange( wxCommandEvent& event ); 551 540 void OnFileBrowse( wxCommandEvent& event ); 541 void OnFileDump( wxCommandEvent& event ); 552 542 553 543 /* Event handlers for the net access output */ … … 576 566 577 567 /* Controls for the access outputs */ 568 wxPanel *access_panel; 578 569 wxPanel *access_subpanels[ACCESS_OUT_NUM]; 579 570 wxCheckBox *access_checkboxes[ACCESS_OUT_NUM]; … … 582 573 583 574 wxComboBox *file_combo; 575 wxCheckBox *dump_checkbox; 584 576 wxSpinCtrl *net_ports[ACCESS_OUT_NUM]; 585 577 wxTextCtrl *net_addrs[ACCESS_OUT_NUM]; 586 578 587 579 /* Controls for the SAP announces */ 580 wxPanel *misc_panel; 588 581 wxPanel *misc_subpanels[MISC_SOUT_NUM]; 589 582 wxCheckBox *sap_checkbox; … … 592 585 593 586 /* Controls for the encapsulation */ 587 wxPanel *encapsulation_panel; 594 588 wxRadioButton *encapsulation_radios[ENCAPS_NUM]; 595 589 int i_encapsulation_type; 596 590 597 591 /* Controls for transcoding */ 592 wxPanel *transcoding_panel; 598 593 wxCheckBox *video_transc_checkbox; 599 594 wxComboBox *video_codec_combo; src/input/input.c
rea33ac4 r48190fd 5 5 ***************************************************************************** 6 6 * Copyright (C) 1998-2002 VideoLAN 7 * $Id: input.c,v 1.25 1 2003/11/04 02:23:11 fenrirExp $7 * $Id: input.c,v 1.252 2003/11/05 17:57:29 gbazin Exp $ 8 8 * 9 9 * Authors: Christophe Massiot <massiot@via.ecp.fr> … … 707 707 708 708 /* Find and open appropriate demux module */ 709 p_input->p_demux = module_Need( p_input, "demux", 710 p_input->psz_demux ); 709 p_input->p_demux = 710 module_Need( p_input, "demux", 711 (p_input->psz_demux && *p_input->psz_demux) ? 712 p_input->psz_demux : "$demux" ); 711 713 712 714 if( p_input->p_demux == NULL ) … … 945 947 946 948 case VLC_VAR_STRING: 949 case VLC_VAR_MODULE: 947 950 case VLC_VAR_FILE: 948 951 case VLC_VAR_DIRECTORY: src/misc/configuration.c
re53ac06 r48190fd 3 3 ***************************************************************************** 4 4 * Copyright (C) 2001 VideoLAN 5 * $Id: configuration.c,v 1.6 7 2003/11/05 00:39:17gbazin Exp $5 * $Id: configuration.c,v 1.68 2003/11/05 17:57:29 gbazin Exp $ 6 6 * 7 7 * Authors: Gildas Bazin <gbazin@netcourrier.com> … … 96 96 97 97 case CONFIG_ITEM_MODULE: 98 i_type = VLC_VAR_MODULE; 99 break; 100 98 101 case CONFIG_ITEM_STRING: 99 102 i_type = VLC_VAR_STRING; src/misc/modules.c
r43a0fe3 r48190fd 3 3 ***************************************************************************** 4 4 * Copyright (C) 2001 VideoLAN 5 * $Id: modules.c,v 1.13 7 2003/10/07 09:32:48gbazin Exp $5 * $Id: modules.c,v 1.138 2003/11/05 17:57:29 gbazin Exp $ 6 6 * 7 7 * Authors: Sam Hocevar <sam@zoy.org> … … 289 289 if( psz_name && psz_name[0] == '$' ) 290 290 { 291 psz_var = config_GetPsz( p_this, psz_name + 1 ); 291 vlc_value_t val; 292 var_Create( p_this, psz_name + 1, VLC_VAR_MODULE | VLC_VAR_DOINHERIT ); 293 var_Get( p_this, psz_name + 1, &val ); 294 psz_var = val.psz_string; 292 295 psz_name = psz_var; 293 296 } src/misc/variables.c
r9097385 r48190fd 3 3 ***************************************************************************** 4 4 * Copyright (C) 2002 VideoLAN 5 * $Id: variables.c,v 1.3 3 2003/10/29 01:33:27gbazin Exp $5 * $Id: variables.c,v 1.34 2003/11/05 17:57:29 gbazin Exp $ 6 6 * 7 7 * Authors: Samuel Hocevar <sam@zoy.org> … … 1157 1157 case VLC_VAR_DIRECTORY: 1158 1158 case VLC_VAR_STRING: 1159 case VLC_VAR_MODULE: 1159 1160 p_val->psz_string = config_GetPsz( p_this, psz_name ); 1160 1161 if( !p_val->psz_string ) p_val->psz_string = strdup("");
