gremlin/gremlin.in: GStreamer pipelines are very expensive.
AudioIdentifier would keep its pipeline lying around in case it needed
to do the heavyweight bitrate calculation. But the directory grobbler
keeps an identifier for each master file in the directory, and in large
directories this means there are lots of live pipelines. Since
pipelines maintain file descriptors and threads (and therefore
stack-segment address space), this can cause the gremlin to run out of
resources for no good reason.
Instead, factor out the pipeline setup, and shut the pipeline down
between initial identification and tag collection, and the possibly-
on-demand slow bitrate calculation. There wasn't a lot of point in
retaining the pipeline for the bitrate calculation, because wading
through the file is much heavier than rebuilding the pipeline, so I
doubt whether anyone will care.