[Gambas-user] Bug on MediaTagList with some files

Adrien Prokopowicz adrien.prokopowicz at ...626...
Sun Dec 16 04:27:57 CET 2012


Le Sat, 15 Dec 2012 22:42:29 -0000, Benoît Minisini  
<gambas at ...1...> a écrit:

> Le 16/12/2012 00:34, Adrien Prokopowicz a écrit :
>> Le Sat, 15 Dec 2012 22:09:31 -0000, Benoît Minisini
>> <gambas at ...1...> a écrit:
>>
>>> Le 15/12/2012 15:46, Adrien Prokopowicz a écrit :
>>>> Le Sat, 15 Dec 2012 02:28:13 -0000, Benoît Minisini
>>>> <gambas at ...1...> a écrit:
>>>>
>>>>> Le 15/12/2012 03:28, Adrien Prokopowicz a écrit :
>>>>>> Hi Benoît,
>>>>>>
>>>>>> I'm trying to get the tags on each audio file on my music library,  
>>>>>> but
>>>>>> some files make the MediaTagList._get() function crash with the  
>>>>>> error
>>>>>> "No
>>>>>> return value".
>>>>>>
>>>>>> As an example, you can try to open and play the following file with
>>>>>> the
>>>>>> MediaPlayer example :
>>>>>>
>>>>>> http://dl.free.fr/isvWMm7mq
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>
>>>>> It should be fixed in revision #5436.
>>>>>
>>>>> Regards,
>>>>>
>>>>
>>>> It works for that file, but with another one I have a new error  
>>>> message
>>>> now : "Unsupported property datatype".
>>>>
>>>> Here is the file : http://dl.free.fr/niWYCQNM3
>>>>
>>>> Regards,
>>>>
>>>
>>> Is it better with revision #5439?
>>>
>>
>> Much better, thanks. :-)
>>
>> Just a last little question on gb.media (I'm discovering GStreamer) :  
>> I'd
>> like to get the tags of all the files in my music folder, and to store
>> them into a compressed XML file, so that I won't have to fully rescan  
>> the
>> folder each time I start my app.
>>
>> The only way I found to retreive the tags is to have a second  
>> MediaPlayer
>> in background, to set its URL property and to call its Pause() method.
>> When I see that the player has reached the Pause state (with the State
>> event), I stop the player and then repeat the process for the next file.
>>
>> Do you know if there is a "cleaner" method (that doesn't open and close  
>> an
>> audio stream for each file and make PulseAudio overloaded) ?
>>
>> Thanks in advance (and for your work). :-)
>>
>> Regards,
>>
>
> The tags are emitted while the media is playing in GStreamer, so try to
> replace the audio output of the MediaPlayer by some GStreamer element
> that does nothing (look in the documentation, it must exist). That way,
> you won't send any sound anywhere.
>
> Otherwise I don't know if there is another way with GStreamer.
>
> Regards,
>

Yes, that works much faster (with the "fakesink" element), thank you !
Just a note : I can't create a MediaControl without a parent (it gives me  
a Null Object error) but the parent parameter is marked as optional. So as  
a workaround I have to create a "dummy" mediaplayer that will actually  
contain my fake output element.

And in the IDE (I don't know either if this is a bug), when the Null  
object occurs into the declaration part of the class (or outside of any  
function/procedure), the balloon pops out somewhere inside the stack  
backtrace panel. (I first thought that the IDE itself was crashing ...)

Regards,

-- 
Adrien Prokopowicz




More information about the User mailing list