Judging by the lack of mentions anywhere on the internet, I don't think
many people use AudioFileRegionLists. I have found one mention from 3 years
ago, where the developer had similar results reading, as to what I am
seeing with writing - in so far as only the first marker of the first
region is reliably accessible.

https://devforums.apple.com/message/759692#759692

So I'm leaning toward a new theory, that it's not my CSStrings, but that
this feature is broken. Can anyone confirm this?

Thanks

Charles

PS: I also see a layer down, this might be possible using a CAFRegionChunk.
Anyone had any luck with this?



On Wed, Sep 14, 2016 at 8:53 PM, Charles Constant <char...@charlesism.com>
wrote:

>
> I'm having a rather bad time getting *AudioFileSetProperty* to write an
> *AudioFileRegionList* to a CAF file. I suspect the problem is the way
> that I'm allocating *CFString*s.
>
> Is this an appropriate way to allocate *CFStrings* when setting a
> marker.mName or region.mName?
>
>     rgn->mName = CFStringCreateWithFormat( kCFAllocatorDefault, NULL,
> CFSTR("Region-%d"), r );
>
>
>
> My problem is that if I try to create a List that contains more than one
> Region, as soon as I call *AudioFileSetProperty*, I get "EXC_BAD_ACCESS."
> This happens unless I use a very small quantity of regions and markers. The
> debugger shows the exact place where AudioFileSetProperty falls over as
> either "CFStringGetLength" or "CAFRegion_NtoB(CAFRegion*)".
>
>
>
> If I create only a single Region, and then use afinfo to view my file, I
> get this type of thing:
>
> MacBook-Pro:~ username$ afinfo /Users/username/UnitTest_CAF_ANSI_C.caf
>
> File:           /Users/username/UnitTest_CAF_ANSI_C.caf
>
> File type ID:   caff
>
> Num Tracks:     1
>
> ----
>
> Data format:     1 ch,  44100 Hz, 'lpcm' (0x0000000E) 16-bit big-endian
> signed integer
>
>                 no channel layout.
>
> estimated duration: 5.001315 sec
>
> audio bytes: 441116
>
> audio packets: 220558
>
> bit rate: 705600 bits per second
>
> packet size upper bound: 2
>
> maximum packet size: 2
>
> audio data file offset: 4096
>
> optimized
>
> audio 220558 valid frames + 0 priming + 0 remainder = 220558
>
> source bit depth: I16
>
> 1 regions; SMPTE time type 0 (none)
>
>   region 1, "Region-0", flags 00000000
>
> marker 990, "Marker-990": frame       100   SMPTE time 0:00:00:00/0 type
> 1935828327 ('sbeg') channel 0
>
> marker 991, "<unnnamed>": frame       200   SMPTE time 0:00:00:00/0 type
> 1936027236 ('send') channel 0
>
> marker 992, "<unnnamed>": frame       300   SMPTE time 0:00:00:00/0 type
> 1935828327 ('sbeg') channel 0
>
>
> The names should be "Marker-990" "Marker-991" "Marker-992" and so on.
>
>
> Anyone have any ideas? I'm stumped, and after three days working on this,
> I can't find much outside information.
>
> Thanks,
>
> Charles
>
>
>
>
>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (Coreaudio-api@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to