[squeak-dev] Re: GStreamer

Joshua Gargus schwa at fastmail.us
Wed Aug 13 23:06:27 UTC 2008


John M McIntosh wrote:
>
> On Aug 13, 2008, at 8:01 AM, Yoshiki Ohshima wrote:
>
>>  Hello, Josh and John and list,
>>
>>  I'm playing with the GStreamer stuff on Fedora.  With the latest
>> stuff, and some changes (attached), I managed to play a .ogg file that
>> *only* has video track.  But there are a few questions:
>>
>>  * I needed to use the subclasses of GstElemFakeSink to play back,
>>    assuming that GStreamerElementForSqueak... are being obsoleted.
>>    Is it right?
It turns out that we don't have time to spend on GStreamer, so I'm not 
carrying on with the work right now.  I tried to not disturb code that 
was already working, so the other GStreamerElementForSqueakEtc classes 
should continue to work.  In other words, you should be able to revert 
the implementors of #makeFakeSinkElement: to JMM's versions using the 
"old" classes.  However, I think that instantiating the GstElemEtc 
classes is significantly nicer, especially for ad-hoc creation of 
pipelines in a Workspace.  If I had time to spend, I would continue in 
this direction.
>>
>>  * #checkDimension is only sent but not implemented.  


You are seeing sends of #checkDimension in #videoFrameHeight/Width/Rate, 
right?  Sorry, my fault... I thought that I removed all senders (but 
these were in the GStreamer-UI package, which must be why I missed them).

It should be safe to remove those sends of #checkDimension.  In fact, I 
went ahead and did this; the changes are checked in.

Let me know if this works, or if other bugs pop up (quite possible, 
since I apparently only tested the latest updates with Workspace 
snippets and unit tests, not the Morphic UI).

>> I assumed that
>>     it wants to check whether the dimension of video is sane, and I
>>     thought that "sane-ness" is just checking both width and height
>>     are bigger than zero.  Is it right?
#checkDimension used to look like this:

checkDimension
    self width ifNotNil: [^self].
    width := self squeakerVideo getWidth.
    height := self squeakerVideo getHeight.
    fps := (self squeakerVideo getFrameRateNumerator) /
           (self squeakerVideo getFrameRateDenominator).

However, it doesn't make much sense to retrieve the width, height, and 
frame-rate each time you want to access one of the three.

Cheers,
Josh
>
> Joshua was refactoring all that, I'll look later tonight
>
>>
>>
>>  * #openFile: was written under the assumption that .ogg file is
>>     either "video and audio" or "audio only" but I have a file that
>>     is "video only".  If I open a video only file with older
>>     definition, it basically forever paused and wait until it is
>>     ready and doesn't play it back.  #openFile: should check the type
>>     of tracks and call a proper #oggHookupToSqueak... method.  But is
>>     there a simple way to query it when I have the filesrc element?
>
> Yes there is a problem there, I was looking at "typefind" to see if we 
> could decide what type of file it is, but
> that might require a plugin change in order to get the CAPS element 
> back.  I was also trying to see if you
> could resolve pipeline setup as always both setup with audio/video and 
> work with that, but haven't gotten
> around to testing it, however you are welcome to try. In this case you 
> could ask the elments for attribute data to see
> if there are frames, or audio?
>
>>
>>
>>  Thank you!
>>
>> -- Yoshiki
>>
>> People are often on vacation around this time of year, so have
>> fun... but at your convenient time, please think about Squeak stuff^^;
>>
>> <GSTAug11-yo.2.cs>
>
> -- 
> =========================================================================== 
>
> John M. McIntosh <johnmci at smalltalkconsulting.com>
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> =========================================================================== 
>
>
>




More information about the Squeak-dev mailing list