×

Discussion Board

Results 1 to 15 of 15
  1. #1
    Registered User
    Join Date
    Jan 2008
    Posts
    3

    Play video with a active call in progress

    Hi

    I'm trying to write a video player on N95 that can play video while an call is active. I don't need any audio. Have tried two things:

    1.CVideoPlayerUtility, but Play() returns -45, Session closed. Is it possible to play video with this class while having a active phone call?

    2. CMMFDevVideoPlay together with a 3gp file parser. The parser returns one video sample, which can contain one or several video frames. WriteCodedDataL only seems to accept one frame at a time. Playback is working if I can feed it with one frame at a time but not if I give it samples. I have tried to change the DataUnit Type to EDuArbitraryStreamSection with SetInputFormatL but without success. Can I send several frames to WriteCodedDataL somehow or do I need to extract each frame from the sample before sending it to the decoder? I'm using post processor and direct screen access.

    Thanks /Markus

  2. #2
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Play video with a active call in progress

    Hi,

    I think you should be able to play video in an active call if there is no audio track in the video file.

    Nokia has a Real Time Video Sharing application that does exactly that, streaming the video between two phones.

    If there is audio you probably have to decode the video yourself as you are trying to and ignore the audio. I'm not sure about the DevVideo interface, I haven't used it. Have you tried other types of data unit? Does SetInputFormatL give you a KErrNotSupported? I think that would answer your question.

    Hope that helps,
    Sorcery

  3. #3
    Registered User
    Join Date
    Jan 2008
    Posts
    3

    Re: Play video with a active call in progress

    Ok, so that rules out CVideoPlayerUtility because I have to be able to play video files that contains audio even if no audio is played.

    SetInputFormatL returns success, so I can change the input data format, but there is no visible difference in the video output on screen. It seems like I have to send a frame at a time to WriteCodedDataL regardless of the selected input data format. It seems strange if this is the case when there are settings for the data input format, not implemented yet maybe?

  4. #4
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Play video with a active call in progress

    Even if it weren't implemented yet they should return not supported until they have implemented it. Sounds like a firmware bug to me.

    If it works one frame at a time then that seems like the way to go for now.

    Good luck!

    Sorcery

  5. #5
    Registered User
    Join Date
    Jan 2008
    Posts
    3

    Re: Play video with a active call in progress

    Thanks

    I'm only able to extract frames for some video files, and was hoping that it would be possible to send whole samples to the decoder directly from the media parser.

    Maybe there are someone else that have used the DevVideo API that can answer this?

    I will continue my testing and report back if I have any success.

  6. #6
    Regular Contributor
    Join Date
    May 2007
    Posts
    468

    Re: Play video with a active call in progress

    So you want to make an Video ringtone app? Yes it's possible with CVideoPlayerUtility.

    Jack

  7. #7
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Play video with a active call in progress

    No, not a video ringtone app! Video playback during an active call - not quite so easy but still possible - as demonstrated in Nokia's Real Time Video Sharing application.

    Sorcery

  8. #8
    Registered User
    Join Date
    Aug 2008
    Posts
    21

    Re: Play video with a active call in progress

    Hi,
    Is it achieved playing video when call in progress(active) with CVideoPlayerUtility?.Please let me know i need this and paste me the code.

    thanks
    Bhaskar

  9. #9
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Play video with a active call in progress

    Hi,

    To repeat the information above, yes you should be able to do this if there is no audio track in the video file. If you need to be able to play any video, including those with audio tracks, then you have to use another API to play the video.

    There is no special code required to use CVideoPlayerUtility in an active call. If there isn't any audio then it should just work in the standard way and you can use one of the examples from the Wiki.

    You have to be very careful about this no audio issue though, if I remember correctly even having an empty audio track in the video file causes the video player utility to fail.

    Sorcery

  10. #10
    Registered User
    Join Date
    Aug 2008
    Posts
    21

    Re: Play video with a active call in progress

    Hi Sorcery,
    I understood.But I have tested a game(developed by n-gage) using this API(CVIdeoPlayerUtility).So when call is in progress i am able to play game and able to listen audio also(with less volume).Please let me know how this can be achieved.

    Thanks,
    Bhaskar

  11. #11
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Play video with a active call in progress

    Hi,

    Well, I am describing the default behaviour. How do you know the game you've tested used CVideoPlayerUtility? If it's an Ngage game them it probably uses the RGA API for video instead...

    The NewL() method of CVideoPlayerUtility takes some priority and priority preference values that relate to the audio output. Historically these have had special magic numbers that control things like mixing with downlink or uplink audio in a call rather than getting a KErrInUse. However, in 3rd Edition phones onwards there have been PlatSec restrictions on this, so you need the MultimediaDD capability and (probably) also the Nokia Vendor ID (which you can't get) for this to work.

    Your best option is probably to make a Nokia tech support request. It's just possible that by using the RGA APIs you get to pass your requests though a component that has the Nokia Vendor ID already...

    Hope that helps,

    Sorcery

  12. #12
    Registered User
    Join Date
    Aug 2008
    Posts
    21

    Re: Play video with a active call in progress

    Hi Sorcery,
    Thanks for that information.I came to know that they in that game they are not using CVideoPlayerUtility.

    One more thing I have written one application which will use CVideoPlayerUtility for playing video,I used default priority and preferrence(dont have Vendor ID).I am handling HandlingForeGroundL() to play and pause the game.But when is voice on hold ,video is not resuming.As you said I have to only give those priorities ,pref and VendorID or can Ihave to code more?Please explaing me or if I have code snippet it is better for me.

    Thanks
    Bhaskar.

  13. #13
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Play video with a active call in progress

    Hi,

    It's possible that the audio device is not released by the phone application while the call is on hold. In that case it's exactly the same as while the call is in progress - you are blocked by a higher priority client.

    What happens? The same thing?

    Another alternative is that you may have to do something different to get the audio re-initialised for your player. Have you tried: get the current position when the call comes in, then stop and seek back to the position before playing again?

    Sorcery

    P.S. It is not possible for anyone but Nokia to sign an application that uses the Nokia VendorID. This does not allow any kind of workaround for CVideoPlayerUtility as far as I'm aware.

  14. #14
    Registered User
    Join Date
    Aug 2008
    Posts
    21

    Re: Play video with a active call in progress

    Yes Sorcery,
    Yes the samething is happening.It is blocked by the phone app.

    And I didnt tried as You said when call comes in.So have i to use CTelephoney to know call is happenning?Pls give me some code snippets.So that i can try.

    And I aslo would like to know how this is implemented in realplayer.
    Thanks
    Bhaskar
    Last edited by bhaskarmallu; 2008-11-17 at 12:41.

  15. #15
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Play video with a active call in progress

    Search the wiki for CTelephony examples. However, this isn't really a generic solution. I think the RealPlayer pauses the video when a call comes in by default. If you start the video while the call is in progress I think it should not start the video without the audio, but that's clearly how it is working.

    A better solution for you would probably be to try using something like CMdaAudioOutputStream to quickly play some (silent) audio. If that gives you KErrInUse then you know that something with a higher priority is using the audio...

    Hope that helps,
    Sorcery

Similar Threads

  1. Video Call AT Commands COM Port
    By rsaini77 in forum Streaming and Video
    Replies: 2
    Last Post: 2008-12-30, 10:28
  2. How to Play .wav File in Active Call in S60 2nd Edition?
    By Tanya in forum Symbian Media (Closed)
    Replies: 29
    Last Post: 2007-12-20, 08:53
  3. Replies: 6
    Last Post: 2007-08-03, 04:04
  4. Play Sound file when taking an active call
    By saadmansur in forum Symbian Media (Closed)
    Replies: 6
    Last Post: 2007-04-16, 06:58
  5. Is it possible to play video file per frame.
    By b4605318 in forum Symbian Media (Closed)
    Replies: 0
    Last Post: 2006-04-25, 17:03

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×