Hi All,

I am also looking the same information ....
I think Atish is expecting the same ,

As i observed in the code Rights are consumed only once and it will play
infinite times.
In order to Consume rights we need to call Reset() once we reached to the
end of track information,
or Move UsageComplete code to some other location.

What is the better solution ?

Regards,
Raghu.M


On Fri, Oct 16, 2009 at 6:30 AM, NoraBora <[email protected]> wrote:

>
>  2009/10/15 Atish <[email protected]>
>
>>
>> Whatever u said is absolutely correct.But imaging actual use case
>> scenario user doesnot want to remain in the player screen to play the
>> content infinitely(unless he is fanatic about the song!!!)
>>
>> But what i m talking about is u can come out of the player app and
>> anytime u can go n start playing.
>> As nobody called reset or stop all nodes will retain their STATE
>> (PAUSED).Next time it will start from PAUSED STATE ONLY. :(
>>
>> If we can consume rights during START(STATE) or PAUSED/STOPPED
>> (whichever is called by app) then at least we will save some royalty
>> to the operator...
>>
>
>        I'm not sure I understand what you are saying.
>        "start playing drm.mp3 -> drm consumption -> get out of the
> app(still playing) ->
>         go back to the app -> another drm consumption."
>        Is this what you want?
>
>
>> what do u say??isn't there any way to move the usage complete code to
>> any other state??
>>
>
>        if you call UsageComplete() in START state,
> MediaPlayer.start->pause->start->pause will cause consumption many times..I
> think.
>
>
>> On Oct 15, 2:22 pm, NoraBora <[email protected]> wrote:
>> >     Yes. the app can play a drm content with one consumption(because
>> > AuthorizeUsage called during prepare) until reset(). but isn't this a
>> normal
>> > scenario?
>> >    Imagine that near the playback end, user can seek to the first and
>> can
>> > watch forever by one consumption. What's the difference?
>> >
>> >    If you really want the drm content to be played only once with one
>> > consumption, maybe you could try using intents like
>> > BITMASK_PVMF_CPM_DRM_INTENT_RESUME,
>> BITMASK_PVMF_CPM_DRM_INTENT_SEEK_BACK in
>> > parser nodes. (I haven't used them yet..)
>> >
>> > 2009/10/15 Atish <[email protected]>
>>  >
>> >
>> >
>> >
>> >
>> > > yeah we can do that but i feel that won't be a gud solution as anybody
>> > > can write an application which won't call reset.
>> > > So that app can play the DRM content for ever by continous playing the
>> > > file.
>> > > So some changes need to be done in ParserNode level so that each time
>> > > node goes from pause to start it should at least call  AuthorizeUsuage
>> > > and UsuageComplete..
>> >
>> > > what do u say??
>> >
>> > > On Oct 15, 12:28 pm, NoraBora <[email protected]> wrote:
>> > > > I tested what you said.
>> > > > MediaPlayer.start() ... wait...play complete..MediaPlayer.start()
>> > > > In the second start(), none of the cpm function called.
>> >
>> > > > Under this opencore structure,
>> > > > all I can think of is to reset MediaPlayer in CompletionListener.
>> >
>> > > > I hope there is a better solution.
>> >
>> > > > 2009/10/14 Atish <[email protected]>
>> >
>> > > > > Thanks for Replying...
>> >
>> > > > > I have already tried that.
>> >
>> > > > > CPM's AuthorizeUsage() will be called only once when u start
>> playing a
>> > > > > new media file.
>> >
>> > > > > Once play is finished node will be in paused state.So if u start
>> > > > > playing again node will go to Start state.
>> > > > > PvPlayerEngine->Resume->ParserNode->Start.
>> > > > > So AuthorizeUsage()  won't be called.
>> >
>> > > > > As all the cpm calls are enqued in Init of Parser node only if u
>> > > > > change media file or call Reset from App then only cpm commands
>> will
>> > > > > be invoked.
>> >
>> > > > > Please guide me what to do in this scenario???
>> >
>> > > > > On Oct 14, 12:32 pm, NoraBora <[email protected]> wrote:
>> > > > > > I didn't know the default music player doesn't call
>> > > MediaPlayer.Reset().
>> >
>> > > > > > How about you put such as ConsumeRight() in CPM's
>> AuthorizeUsage()
>> > > not in
>> > > > > > CPM's UsageComplete()?
>> > > > > > In this case the consumption happens before playback.
>> >
>> > > > > > 2009/10/14 Atish <[email protected]>
>> >
>> > > > > > > But Currently android music player doesnot call Reset.That
>> means it
>> > > > > > > can play DRM files with no constratint!!!!
>> >
>> > > > > > > So where should i put that UsuageComplete code so that every
>> case
>> > > is
>> > > > > > > considered??
>> >
>> > > > > > > On Oct 14, 6:44 am, NoraBora <[email protected]> wrote:
>> > > > > > > > DoReset() is invoked by MediaPlayer.reset();
>> >
>> > > > > > > > 2009/10/13 Atish <[email protected]>
>> >
>> > > > > > > > > Hi All,
>> > > > > > > > > I m trying to run CPM plugin thru opencore for playing DRM
>> > > contents
>> > > > > in
>> > > > > > > > > Android.
>> >
>> > > > > > > > > I was succesfule in registrering and checking the rights
>> for
>> > > DRM
>> > > > > > > > > content thru CPM plugin.
>> >
>> > > > > > > > > But consuming rights is not working because of below
>> mentioned
>> > > > > reason.
>> >
>> > > > > > > > >  Push(iCPMContainer,
>> > > > > PVMFSubNodeContainerBaseMp3::ECPMUsageComplete);
>> > > > > > > > > This command will enque the consume rights commands
>> > > > > > > > > (ECPMUsageComplete).But this  code is present in DoReset.
>> >
>> > > > > > > > > So how do reset will be invoked??
>> > > > > > > > > Current android music player doesnot even call stop.
>> >
>> > > > > > > > > so ECPMUsageComplete is not getting called...
>> > > > > > > > > how to solve this issue...???- Hide quoted text -
>> >
>> > > > > > > > - Show quoted text -- Hide quoted text -
>> >
>> > > > > > - Show quoted text -- Hide quoted text -
>> >
>> > > > - Show quoted text -- Hide quoted text -
>> >
>> > - Show quoted text -
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to