• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Text track in QTMovie
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Text track in QTMovie


  • Subject: Re: Text track in QTMovie
  • From: douglas welton <email@hidden>
  • Date: Sun, 14 Dec 2008 21:54:04 -0500

when you say it won't show you the "track names" do you mean:

a) your NSLog() function is failing and nothing is printed
b) NSLog() prints something, but the value of string appears to be either nil or empty (which one?)
c) you really want the name of the track (i.e., the thing displayed in the QT Player) and not the text in each sample. If this is the case then we have to do something entirely different ;^}
d) all of the function calls succeed and when examined in the debugger you can see the values for size and chars[] are valid but your NSString cannot be properly constructed.


Can you clarify?  BTW, what values are you seeing in the debugger?

On Dec 14, 2008, at 8:33 PM, Joe Turner wrote:

Okay, so I did what you said, but yet, it still won't show me the track names. Here is my code:

Media media = [[[[[movieView movie] tracksOfMediaType:QTMediaTypeText] objectAtIndex:0] media] quickTimeMedia];

TimeValue64 timeValue = 0;
TimeValue64 duration = 0;
GetMediaNextInterestingDecodeTime(media, nextTimeMediaSample + nextTimeEdgeOK, timeValue, fixed1, &timeValue, &duration);

ByteCount size;
GetMediaSample2(media, NULL, 0, &size, timeValue, NULL, NULL, NULL, nil, nil, 1, NULL, NULL);

char chars[size];

GetMediaSample2(media, &chars, size, NULL, timeValue, NULL, NULL, NULL, nil, nil, 1, NULL, NULL);
NSString *string = [[NSString alloc] initWithBytes:chars length:size encoding:NSUTF8StringEncoding];
NSLog(@"String: %@", string);


Thanks,

Joe
On Dec 14, 2008, at 7:03 PM, douglas welton wrote:

Hi Joe,

Since you didn't define "easy" or tell me what you'd tried, then I'll have to make some assumptions about what you know. I will assume that you have read the documentation on QT media samples.

The basic steps:

Get the text track.
Get the track media.
loop thru the media samples using a function like GetMediaNextInterestingDecodeTime() with the parameters of your choice
Use GetMediaSample2() to get the data/length associated with the text sample.
Create an NSString with the bytes/length returned in the previous call


regards,

douglas

On Dec 14, 2008, at 7:26 PM, Joe Turner wrote:

I have a QTMovie (that is valid), and it has a text track. I am wondering if there is any easy way to get the contents of the text track into an NSString.

Thanks,

Joe


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Text track in QTMovie
      • From: Joe Turner <email@hidden>
References: 
 >Text track in QTMovie (From: Joe Turner <email@hidden>)
 >Re: Text track in QTMovie (From: douglas welton <email@hidden>)
 >Re: Text track in QTMovie (From: Joe Turner <email@hidden>)

  • Prev by Date: Core Data: following a relationship to set a transient attribute during awakeFromFetch
  • Next by Date: Re: NSTimer EXC_BAD_ACCESS
  • Previous by thread: Re: Text track in QTMovie
  • Next by thread: Re: Text track in QTMovie
  • Index(es):
    • Date
    • Thread