Hi Doug, I'm wondering if the test you ran, was an AudioFileMarkerList, as
opposed to an AudioFileRegionList? I can get the former to work. I'm pretty
certain the latter is broken now.

I wasn't 100% clear how to handle the CFRefs, and whether I was taking
padding into account for the allocation. I've examined that pretty
carefully the last couple days...

    AudioFileRegionList:
    https://pbs.twimg.com/media/CsoaLsMUkAACeYH.jpg:large

    Unmanaged CFString handling in Swift:
    https://pbs.twimg.com/media/CsLae9qVMAE2IGQ.jpg:large

I just had another go in Swift, and I'm pretty sure my code is correct now
- but it still crashes.

If you confirm this still works with a Region list, not just a Marker list,
I will keep trying. Otherwise, I ought to use a Marker list, as a
workaround, and move on to other areas of my app. I'd prefer not to have a
loose bag of range locations and conclusions, but it wouldn't be the end of
the world.

Thanks!



















On Fri, Sep 16, 2016 at 12:48 PM, Doug Wyatt <dwy...@apple.com> wrote:

> Hi Charles,
>
> If you could please write a bug report and attach a crash log, we'll look
> into it. I have successfully written a small number of markers to a CAF
> file...
>
> Thanks,
> Doug
>
>
> > On Sep 16, 2016, at 1:17 , Charles Constant <char...@charlesism.com>
> wrote:
> >
> > 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 CFStrings.
> >
> > 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/dwyatt%40apple.com
> >
> > This email sent to dwy...@apple.com
>
>
 _______________________________________________
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