gstreamer_test_apps/gstplayer/src/GSTPlayerappui.cpp
author hgs
Tue, 21 Sep 2010 11:28:48 -0500
changeset 34 1b8125c02661
parent 26 69c7080681bf
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
hgs
parents:
diff changeset
     3
*
hgs
parents:
diff changeset
     4
* This library is free software; you can redistribute it and/or
hgs
parents:
diff changeset
     5
* modify it under the terms of the GNU Lesser General Public
hgs
parents:
diff changeset
     6
* License as published by the Free Software Foundation; either
hgs
parents:
diff changeset
     7
* version 2 of the License, or (at your option) any later version.
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* This library is distributed in the hope that it will be useful,
hgs
parents:
diff changeset
    10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
hgs
parents:
diff changeset
    11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
hgs
parents:
diff changeset
    12
* Lesser General Public License for more details.
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* You should have received a copy of the GNU Lesser General Public
hgs
parents:
diff changeset
    15
* License along with this library; if not, write to the
hgs
parents:
diff changeset
    16
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
hgs
parents:
diff changeset
    17
* Boston, MA 02111-1307, USA.
hgs
parents:
diff changeset
    18
*
hgs
parents:
diff changeset
    19
* Description:
hgs
parents:
diff changeset
    20
*
hgs
parents:
diff changeset
    21
*/
hgs
parents:
diff changeset
    22
/*
hgs
parents:
diff changeset
    23
* ==============================================================================
hgs
parents:
diff changeset
    24
*  Name        : gstplayerappui.cpp
hgs
parents:
diff changeset
    25
*  Part of     : gstplayer
hgs
parents:
diff changeset
    26
*  Interface   : 
hgs
parents:
diff changeset
    27
*  Description : 
hgs
parents:
diff changeset
    28
*  Version     : 
hgs
parents:
diff changeset
    29
*
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
* ==============================================================================
hgs
parents:
diff changeset
    32
*/
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// INCLUDE FILES
hgs
parents:
diff changeset
    35
#include <avkon.hrh>
hgs
parents:
diff changeset
    36
#include <aknnotewrappers.h>
26
hgs
parents: 18
diff changeset
    37
#include <StringLoader.h>
hgs
parents: 18
diff changeset
    38
#include <gstplayer.rsg>
18
hgs
parents:
diff changeset
    39
#include <CAknMemorySelectionDialog.h>
hgs
parents:
diff changeset
    40
#include <f32file.h>
hgs
parents:
diff changeset
    41
#include <s32file.h>
26
hgs
parents: 18
diff changeset
    42
#include <pathinfo.h>
18
hgs
parents:
diff changeset
    43
#include <gst/gst.h>
hgs
parents:
diff changeset
    44
26
hgs
parents: 18
diff changeset
    45
#include "gstplayer.pan"
hgs
parents: 18
diff changeset
    46
#include "gstplayerappui.h"
hgs
parents: 18
diff changeset
    47
#include "gstplayerappview.h"
hgs
parents: 18
diff changeset
    48
#include "gstplayer.hrh"
18
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
#include "GlibEventHandler.h"
hgs
parents:
diff changeset
    51
#include "gstreamer.h"
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
TFileName fileName;
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
_LIT( KHelloFileName, "\\private\\A000017F\\Hello.txt" );
hgs
parents:
diff changeset
    56
_LIT( KHelloText, "HELLO WORLD!");
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
// ============================ MEMBER FUNCTIONS ===============================
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    62
// CGSTPlayerAppUi::ConstructL()
hgs
parents:
diff changeset
    63
// Symbian 2nd phase constructor can leave.
hgs
parents:
diff changeset
    64
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    65
//
hgs
parents:
diff changeset
    66
void CGSTPlayerAppUi::ConstructL()
hgs
parents:
diff changeset
    67
    {
hgs
parents:
diff changeset
    68
    // Initialise app UI with standard value.
hgs
parents:
diff changeset
    69
    BaseConstructL(CAknAppUi::EAknEnableSkin);
hgs
parents:
diff changeset
    70
    // Here the Hello.txt file can be created, if it is not copied automatically.
hgs
parents:
diff changeset
    71
    /*
hgs
parents:
diff changeset
    72
     RFs fsSession;
hgs
parents:
diff changeset
    73
     User::LeaveIfError(fsSession.Connect());            
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
     RFile file;
hgs
parents:
diff changeset
    76
     
hgs
parents:
diff changeset
    77
     // Create a file to write the text to       
hgs
parents:
diff changeset
    78
     if ( file.Replace(fsSession, KHelloFileName, EFileWrite ) != KErrNone )
hgs
parents:
diff changeset
    79
     {
hgs
parents:
diff changeset
    80
     return;
hgs
parents:
diff changeset
    81
     }
hgs
parents:
diff changeset
    82
     CleanupClosePushL( file );            
hgs
parents:
diff changeset
    83
     
hgs
parents:
diff changeset
    84
     RFileWriteStream outputFileStream( file );
hgs
parents:
diff changeset
    85
     CleanupClosePushL( outputFileStream );
hgs
parents:
diff changeset
    86
     outputFileStream << KHelloText;
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
     CleanupStack::PopAndDestroy(2); // file, outputFileStream
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
     fsSession.Close();	
hgs
parents:
diff changeset
    91
     */
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
    // Create view object
hgs
parents:
diff changeset
    94
    iAppView = CGSTPlayerAppView::NewL(ClientRect() );
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    iGstView = iAppView;
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
    }
hgs
parents:
diff changeset
    99
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   100
// CGSTPlayerAppUi::CGSTPlayerAppUi()
hgs
parents:
diff changeset
   101
// C++ default constructor can NOT contain any code, that might leave.
hgs
parents:
diff changeset
   102
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   103
//
hgs
parents:
diff changeset
   104
CGSTPlayerAppUi::CGSTPlayerAppUi()
hgs
parents:
diff changeset
   105
    {
hgs
parents:
diff changeset
   106
    // No implementation required
hgs
parents:
diff changeset
   107
    }
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   110
// CGSTPlayerAppUi::~CGSTPlayerAppUi()
hgs
parents:
diff changeset
   111
// Destructor.
hgs
parents:
diff changeset
   112
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   113
//
hgs
parents:
diff changeset
   114
CGSTPlayerAppUi::~CGSTPlayerAppUi()
hgs
parents:
diff changeset
   115
    {
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
    if (iAppView)
hgs
parents:
diff changeset
   118
        {
hgs
parents:
diff changeset
   119
        delete iAppView;
hgs
parents:
diff changeset
   120
        iAppView = NULL;
hgs
parents:
diff changeset
   121
        }
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
    }
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   126
// CGSTPlayerAppUi::HandleCommandL()
hgs
parents:
diff changeset
   127
// Takes care of command handling.
hgs
parents:
diff changeset
   128
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   129
//
hgs
parents:
diff changeset
   130
void CGSTPlayerAppUi::HandleCommandL(TInt aCommand)
hgs
parents:
diff changeset
   131
    {
hgs
parents:
diff changeset
   132
    switch (aCommand)
hgs
parents:
diff changeset
   133
        {
hgs
parents:
diff changeset
   134
        case EEikCmdExit:
hgs
parents:
diff changeset
   135
        case EAknSoftkeyExit:
hgs
parents:
diff changeset
   136
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   137
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   138
                {
34
hgs
parents: 26
diff changeset
   139
                gst_element_send_event (pipeline, gst_event_new_eos ());
18
hgs
parents:
diff changeset
   140
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   141
                gst_object_unref(GST_OBJECT (pipeline));
hgs
parents:
diff changeset
   142
hgs
parents:
diff changeset
   143
                }
hgs
parents:
diff changeset
   144
            Exit();
hgs
parents:
diff changeset
   145
            break;
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
        case EGSTPlayerNewSong:
hgs
parents:
diff changeset
   148
            {
hgs
parents:
diff changeset
   149
            /*TDes& aPath;
hgs
parents:
diff changeset
   150
             TBool aMemoryCardStorageAllowed;*/
hgs
parents:
diff changeset
   151
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   152
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   153
                {
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   156
                gst_object_unref(GST_OBJECT (pipeline));
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
                }
hgs
parents:
diff changeset
   159
            CAknMemorySelectionDialog* memoryDialog =
hgs
parents:
diff changeset
   160
                    CAknMemorySelectionDialog::NewL(ECFDDialogTypeSave, 
hgs
parents:
diff changeset
   161
                    R_MUSICSHOP_MEMORY_SELECTION_DIALOG, EFalse);
hgs
parents:
diff changeset
   162
            CleanupStack::PushL(memoryDialog);
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
            CAknMemorySelectionDialog::TMemory
hgs
parents:
diff changeset
   165
                    mem(CAknMemorySelectionDialog::EPhoneMemory);
hgs
parents:
diff changeset
   166
            TFileName ignore;
hgs
parents:
diff changeset
   167
            //TFileName path;
hgs
parents:
diff changeset
   168
            if (! (memoryDialog->ExecuteL(mem, &fileName, &ignore) ))
hgs
parents:
diff changeset
   169
                {
hgs
parents:
diff changeset
   170
                // User dnt select the memory location.
hgs
parents:
diff changeset
   171
                //	retVal = EFalse;
hgs
parents:
diff changeset
   172
                }
hgs
parents:
diff changeset
   173
            else
hgs
parents:
diff changeset
   174
                {
hgs
parents:
diff changeset
   175
                //aPath.Copy( path );
hgs
parents:
diff changeset
   176
                }
hgs
parents:
diff changeset
   177
            CleanupStack::PopAndDestroy(); // memoryDialog        
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
hgs
parents:
diff changeset
   180
            //if user has pressed cancel button, then just return
hgs
parents:
diff changeset
   181
            if (!ShowDirListL(fileName))
hgs
parents:
diff changeset
   182
                {
hgs
parents:
diff changeset
   183
                return;
hgs
parents:
diff changeset
   184
                } //end if
hgs
parents:
diff changeset
   185
            if (GstreamerNew(fileName) == -1)
hgs
parents:
diff changeset
   186
                {
hgs
parents:
diff changeset
   187
                // Load a string from the resource file and display it
hgs
parents:
diff changeset
   188
                HBufC* textResource =
hgs
parents:
diff changeset
   189
                        StringLoader::LoadLC( R_HEWB_COMMAND1_TEXT);
hgs
parents:
diff changeset
   190
                CAknInformationNote* informationNote;
hgs
parents:
diff changeset
   191
hgs
parents:
diff changeset
   192
                informationNote = new ( ELeave ) CAknInformationNote;
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
                // Show the information Note with
hgs
parents:
diff changeset
   195
                // textResource loaded with StringLoader.
hgs
parents:
diff changeset
   196
                informationNote->ExecuteLD( *textResource);
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
                // Pop HBuf from CleanUpStack and Destroy it.
hgs
parents:
diff changeset
   199
                CleanupStack::PopAndDestroy(textResource);
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
                }
hgs
parents:
diff changeset
   202
hgs
parents:
diff changeset
   203
            }
hgs
parents:
diff changeset
   204
            break;
hgs
parents:
diff changeset
   205
        case EGSTPlayerPlay:
hgs
parents:
diff changeset
   206
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   207
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   208
                {
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   211
                //gst_object_unref (GST_OBJECT (pipeline));  			 	
hgs
parents:
diff changeset
   212
hgs
parents:
diff changeset
   213
                }
hgs
parents:
diff changeset
   214
            if (GstreamerNew(fileName) == -1)
hgs
parents:
diff changeset
   215
                {
hgs
parents:
diff changeset
   216
                // Load a string from the resource file and display it
hgs
parents:
diff changeset
   217
                HBufC* textResource =
hgs
parents:
diff changeset
   218
                        StringLoader::LoadLC( R_HEWB_COMMAND2_TEXT);
hgs
parents:
diff changeset
   219
                CAknInformationNote* informationNote;
hgs
parents:
diff changeset
   220
hgs
parents:
diff changeset
   221
                informationNote = new ( ELeave ) CAknInformationNote;
hgs
parents:
diff changeset
   222
hgs
parents:
diff changeset
   223
                // Show the information Note with
hgs
parents:
diff changeset
   224
                // textResource loaded with StringLoader.
hgs
parents:
diff changeset
   225
                informationNote->ExecuteLD( *textResource);
hgs
parents:
diff changeset
   226
hgs
parents:
diff changeset
   227
                // Pop HBuf from CleanUpStack and Destroy it.
hgs
parents:
diff changeset
   228
                CleanupStack::PopAndDestroy(textResource);
hgs
parents:
diff changeset
   229
hgs
parents:
diff changeset
   230
                }
hgs
parents:
diff changeset
   231
hgs
parents:
diff changeset
   232
            break;
hgs
parents:
diff changeset
   233
        case EGSTPlayerStop:
hgs
parents:
diff changeset
   234
            if (pipeline!=NULL)
hgs
parents:
diff changeset
   235
                {
hgs
parents:
diff changeset
   236
hgs
parents:
diff changeset
   237
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   238
                gst_object_unref (GST_OBJECT (pipeline));  			 	
hgs
parents:
diff changeset
   239
                pipeline = NULL;
hgs
parents:
diff changeset
   240
                }
hgs
parents:
diff changeset
   241
            break;
hgs
parents:
diff changeset
   242
        case EGSTRecorderStop:
hgs
parents:
diff changeset
   243
            if (pipeline!=NULL)
hgs
parents:
diff changeset
   244
                {
hgs
parents:
diff changeset
   245
                gst_element_send_event (pipeline, gst_event_new_eos ());
hgs
parents:
diff changeset
   246
                }
hgs
parents:
diff changeset
   247
            break;
hgs
parents:
diff changeset
   248
            
hgs
parents:
diff changeset
   249
        case EGSTPlayerPause:
hgs
parents:
diff changeset
   250
                   if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   251
                           == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   252
                       {
hgs
parents:
diff changeset
   253
hgs
parents:
diff changeset
   254
                       gst_element_set_state(pipeline, GST_STATE_PAUSED);
hgs
parents:
diff changeset
   255
                       //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   256
hgs
parents:
diff changeset
   257
                       }
hgs
parents:
diff changeset
   258
                   break;    
hgs
parents:
diff changeset
   259
                   
hgs
parents:
diff changeset
   260
        case EGSTPlayerResume:
hgs
parents:
diff changeset
   261
               if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   262
                       == GST_STATE_PAUSED)
hgs
parents:
diff changeset
   263
                   {
hgs
parents:
diff changeset
   264
hgs
parents:
diff changeset
   265
                   gst_element_set_state(pipeline, GST_STATE_PLAYING);
hgs
parents:
diff changeset
   266
                   //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   267
hgs
parents:
diff changeset
   268
                   }
hgs
parents:
diff changeset
   269
               break;               
hgs
parents:
diff changeset
   270
hgs
parents:
diff changeset
   271
        case EGSTPlayerRecordWav:
hgs
parents:
diff changeset
   272
            {
hgs
parents:
diff changeset
   273
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   274
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   275
                {
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   278
                //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   279
hgs
parents:
diff changeset
   280
                }
hgs
parents:
diff changeset
   281
            gst_record_wav();
hgs
parents:
diff changeset
   282
            }
hgs
parents:
diff changeset
   283
            break;
hgs
parents:
diff changeset
   284
        case EGSTPlayerRecordAac:
hgs
parents:
diff changeset
   285
            {
hgs
parents:
diff changeset
   286
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   287
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   288
                {
hgs
parents:
diff changeset
   289
hgs
parents:
diff changeset
   290
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   291
                //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   292
hgs
parents:
diff changeset
   293
                }
hgs
parents:
diff changeset
   294
            gst_record_aac();
hgs
parents:
diff changeset
   295
            }
hgs
parents:
diff changeset
   296
            break;            
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
        case EGSTPlayerRecordRaw:
hgs
parents:
diff changeset
   299
            {
hgs
parents:
diff changeset
   300
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   301
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   302
                {
hgs
parents:
diff changeset
   303
hgs
parents:
diff changeset
   304
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   305
                //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   306
hgs
parents:
diff changeset
   307
                }
hgs
parents:
diff changeset
   308
            gst_record_raw();
hgs
parents:
diff changeset
   309
            }
hgs
parents:
diff changeset
   310
            break;
hgs
parents:
diff changeset
   311
        
hgs
parents:
diff changeset
   312
        case EGSTPlayerRecordAmr:
hgs
parents:
diff changeset
   313
            {
hgs
parents:
diff changeset
   314
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   315
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   316
                {
hgs
parents:
diff changeset
   317
hgs
parents:
diff changeset
   318
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   319
                //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
                }
hgs
parents:
diff changeset
   322
            gst_record_amr();
hgs
parents:
diff changeset
   323
            }
hgs
parents:
diff changeset
   324
            break;
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
        case EGSTPlayerRecordG711:
hgs
parents:
diff changeset
   327
            {
hgs
parents:
diff changeset
   328
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   329
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   330
                {
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   333
                //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   334
hgs
parents:
diff changeset
   335
                }
hgs
parents:
diff changeset
   336
            gst_record_g711();
hgs
parents:
diff changeset
   337
            }
hgs
parents:
diff changeset
   338
            break;
hgs
parents:
diff changeset
   339
        case EGSTPlayerRecordG729:
hgs
parents:
diff changeset
   340
            {
hgs
parents:
diff changeset
   341
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   342
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   343
                {
hgs
parents:
diff changeset
   344
hgs
parents:
diff changeset
   345
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   346
                //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
                }
hgs
parents:
diff changeset
   349
            gst_record_g729();
hgs
parents:
diff changeset
   350
            }
hgs
parents:
diff changeset
   351
            break;
hgs
parents:
diff changeset
   352
        case EGSTPlayerRecordIlbc:
hgs
parents:
diff changeset
   353
            {
hgs
parents:
diff changeset
   354
            if (pipeline!=NULL && pipeline ->current_state
hgs
parents:
diff changeset
   355
                    == GST_STATE_PLAYING)
hgs
parents:
diff changeset
   356
                {
hgs
parents:
diff changeset
   357
hgs
parents:
diff changeset
   358
                gst_element_set_state(pipeline, GST_STATE_NULL);
hgs
parents:
diff changeset
   359
                //gst_object_unref (GST_OBJECT (pipeline));                 
hgs
parents:
diff changeset
   360
hgs
parents:
diff changeset
   361
                }
hgs
parents:
diff changeset
   362
            gst_record_ilbc();
hgs
parents:
diff changeset
   363
            }
hgs
parents:
diff changeset
   364
            break;
hgs
parents:
diff changeset
   365
            
hgs
parents:
diff changeset
   366
        case EGSTPlayerCurrentVolume:
hgs
parents:
diff changeset
   367
            gst_current_volume();
hgs
parents:
diff changeset
   368
            break;
hgs
parents:
diff changeset
   369
        case EGSTPlayerMaxVolume:
hgs
parents:
diff changeset
   370
            gst_max_volume();
hgs
parents:
diff changeset
   371
            break;
hgs
parents:
diff changeset
   372
        case EGSTPlayerVolumeUp:
hgs
parents:
diff changeset
   373
            gst_volume_up();
hgs
parents:
diff changeset
   374
            break;
hgs
parents:
diff changeset
   375
        case EGSTPlayerVolumeDown:
hgs
parents:
diff changeset
   376
            gst_volume_down();
hgs
parents:
diff changeset
   377
            break;
hgs
parents:
diff changeset
   378
        case EGSTPlayerLeftBalance:
hgs
parents:
diff changeset
   379
        case EGSTPlayerRightBalance:    
hgs
parents:
diff changeset
   380
              gst_balance();
hgs
parents:
diff changeset
   381
              break;
hgs
parents:
diff changeset
   382
        case EGSTPlayerCurrentGain:
hgs
parents:
diff changeset
   383
             gst_current_gain();
hgs
parents:
diff changeset
   384
             break;
hgs
parents:
diff changeset
   385
         case EGSTPlayerMaxGain:
hgs
parents:
diff changeset
   386
             gst_max_gain();
hgs
parents:
diff changeset
   387
             break;
hgs
parents:
diff changeset
   388
         case EGSTPlayerGainUp:
hgs
parents:
diff changeset
   389
             gst_gain_up();
hgs
parents:
diff changeset
   390
             break;
hgs
parents:
diff changeset
   391
         case EGSTPlayerGainDown:
hgs
parents:
diff changeset
   392
             gst_gain_down();
hgs
parents:
diff changeset
   393
             break;      
hgs
parents:
diff changeset
   394
        case EGSTPlayerSamplesPlayed:
hgs
parents:
diff changeset
   395
            samplesplayed();
hgs
parents:
diff changeset
   396
            break;
hgs
parents:
diff changeset
   397
        case EGSTPlayerSamplesRecorded:
hgs
parents:
diff changeset
   398
             samplesrecorded();
hgs
parents:
diff changeset
   399
             break;    
hgs
parents:
diff changeset
   400
        case EGSTPlayerSinkPadCaps:
hgs
parents:
diff changeset
   401
            getsinkpadcaps();
hgs
parents:
diff changeset
   402
            break;
hgs
parents:
diff changeset
   403
        case EGSTPlayerSrcPadCaps:
hgs
parents:
diff changeset
   404
            getsrcpadcaps();
hgs
parents:
diff changeset
   405
            break;
hgs
parents:
diff changeset
   406
        case EGSTPlayerNegotiatedSinkCaps:
hgs
parents:
diff changeset
   407
            negotiatedsinkcaps();
hgs
parents:
diff changeset
   408
            break;
hgs
parents:
diff changeset
   409
        case EGSTPlayerNegotiatedSrcCaps:
hgs
parents:
diff changeset
   410
             negotiatedsrccaps();
hgs
parents:
diff changeset
   411
             break;    
hgs
parents:
diff changeset
   412
        default:
hgs
parents:
diff changeset
   413
            Panic(EGSTPlayerUi);
hgs
parents:
diff changeset
   414
            break;
hgs
parents:
diff changeset
   415
        }
hgs
parents:
diff changeset
   416
    }
hgs
parents:
diff changeset
   417
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   418
//  Called by the framework when the application status pane
hgs
parents:
diff changeset
   419
//  size is changed.  Passes the new client rectangle to the
hgs
parents:
diff changeset
   420
//  AppView
hgs
parents:
diff changeset
   421
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   422
//
hgs
parents:
diff changeset
   423
void CGSTPlayerAppUi::HandleStatusPaneSizeChange()
hgs
parents:
diff changeset
   424
    {
hgs
parents:
diff changeset
   425
    iAppView->SetRect(ClientRect() );
hgs
parents:
diff changeset
   426
hgs
parents:
diff changeset
   427
    }
hgs
parents:
diff changeset
   428
hgs
parents:
diff changeset
   429
TBool CGSTPlayerAppUi::ShowDirListL(TFileName &filePath)
hgs
parents:
diff changeset
   430
    {
hgs
parents:
diff changeset
   431
hgs
parents:
diff changeset
   432
    _LIT(KDialogTitle, "Select File");
hgs
parents:
diff changeset
   433
hgs
parents:
diff changeset
   434
    TBool ret = CAknFileSelectionDialog::RunDlgLD(filePath, // on return, contains the selected file's name
hgs
parents:
diff changeset
   435
            PathInfo::PhoneMemoryRootPath(), // default root path for browsing
hgs
parents:
diff changeset
   436
            KDialogTitle, // Dialog's title
hgs
parents:
diff changeset
   437
            0 // Pointer to class implementing 
hgs
parents:
diff changeset
   438
            // MAknFileSelectionObserver. OkToExitL is called
hgs
parents:
diff changeset
   439
            // when user has selected an file.
hgs
parents:
diff changeset
   440
            );
hgs
parents:
diff changeset
   441
hgs
parents:
diff changeset
   442
    return ret;
hgs
parents:
diff changeset
   443
hgs
parents:
diff changeset
   444
    }
hgs
parents:
diff changeset
   445
hgs
parents:
diff changeset
   446
void ShowNoteL()
hgs
parents:
diff changeset
   447
    {
hgs
parents:
diff changeset
   448
    // Load a string from the resource file and display it
hgs
parents:
diff changeset
   449
    HBufC* textResource = StringLoader::LoadLC( R_HEWB_COMMAND1_TEXT);
hgs
parents:
diff changeset
   450
    CAknInformationNote* informationNote;
hgs
parents:
diff changeset
   451
hgs
parents:
diff changeset
   452
    informationNote = new ( ELeave ) CAknInformationNote;
hgs
parents:
diff changeset
   453
hgs
parents:
diff changeset
   454
    // Show the information Note with
hgs
parents:
diff changeset
   455
    // textResource loaded with StringLoader.
hgs
parents:
diff changeset
   456
    informationNote->ExecuteLD( *textResource);
hgs
parents:
diff changeset
   457
hgs
parents:
diff changeset
   458
    // Pop HBuf from CleanUpStack and Destroy it.
hgs
parents:
diff changeset
   459
    CleanupStack::PopAndDestroy(textResource);
hgs
parents:
diff changeset
   460
    }
hgs
parents:
diff changeset
   461
// End of File
hgs
parents:
diff changeset
   462