mirror of
https://github.com/asticode/go-astiav.git
synced 2025-09-27 04:26:30 +08:00
Updated frame/packet side data Get() signature
This commit is contained in:
@@ -58,10 +58,10 @@ func (d *frameSideDataRegionsOfInterest) Add(rois []RegionOfInterest) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *frameSideDataRegionsOfInterest) Get() ([]RegionOfInterest, error) {
|
||||
func (d *frameSideDataRegionsOfInterest) Get() ([]RegionOfInterest, bool) {
|
||||
sd := C.av_frame_side_data_get(*d.d.sd, *d.d.size, C.AV_FRAME_DATA_REGIONS_OF_INTEREST)
|
||||
if sd == nil {
|
||||
return nil, nil
|
||||
return nil, false
|
||||
}
|
||||
|
||||
crois := d.data(sd)
|
||||
@@ -75,5 +75,5 @@ func (d *frameSideDataRegionsOfInterest) Get() ([]RegionOfInterest, error) {
|
||||
Top: int(crois[i].top),
|
||||
}
|
||||
}
|
||||
return rois, nil
|
||||
return rois, true
|
||||
}
|
||||
|
@@ -24,8 +24,8 @@ func testFrameSideData(sd *FrameSideData, t *testing.T) {
|
||||
},
|
||||
}
|
||||
require.NoError(t, sd.RegionsOfInterest().Add(rois1))
|
||||
rois2, err := sd.RegionsOfInterest().Get()
|
||||
require.NoError(t, err)
|
||||
rois2, ok := sd.RegionsOfInterest().Get()
|
||||
require.True(t, ok)
|
||||
require.Equal(t, rois1, rois2)
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ func TestFrameSideData(t *testing.T) {
|
||||
defer f.Free()
|
||||
sd := f.SideData()
|
||||
|
||||
rois1, err := sd.RegionsOfInterest().Get()
|
||||
require.NoError(t, err)
|
||||
rois1, ok := sd.RegionsOfInterest().Get()
|
||||
require.False(t, ok)
|
||||
require.Nil(t, rois1)
|
||||
rois1 = []RegionOfInterest{
|
||||
{
|
||||
@@ -55,7 +55,7 @@ func TestFrameSideData(t *testing.T) {
|
||||
},
|
||||
}
|
||||
require.NoError(t, sd.RegionsOfInterest().Add(rois1))
|
||||
rois2, err := sd.RegionsOfInterest().Get()
|
||||
require.NoError(t, err)
|
||||
rois2, ok := sd.RegionsOfInterest().Get()
|
||||
require.True(t, ok)
|
||||
require.Equal(t, rois1, rois2)
|
||||
}
|
||||
|
@@ -38,12 +38,16 @@ func (d *packetSideDataDisplayMatrix) Add(m *DisplayMatrix) error {
|
||||
return d.d.addBytes(C.AV_PKT_DATA_DISPLAYMATRIX, m.bytes())
|
||||
}
|
||||
|
||||
func (d *packetSideDataDisplayMatrix) Get() (*DisplayMatrix, error) {
|
||||
func (d *packetSideDataDisplayMatrix) Get() (*DisplayMatrix, bool) {
|
||||
b := d.d.getBytes(C.AV_PKT_DATA_DISPLAYMATRIX)
|
||||
if len(b) == 0 {
|
||||
return nil, nil
|
||||
return nil, false
|
||||
}
|
||||
return newDisplayMatrixFromBytes(b)
|
||||
m, err := newDisplayMatrixFromBytes(b)
|
||||
if err != nil {
|
||||
return nil, false
|
||||
}
|
||||
return m, true
|
||||
}
|
||||
|
||||
// https://ffmpeg.org/doxygen/7.0/group__lavc__packet__side__data.html#gga9a80bfcacc586b483a973272800edb97a2093332d8086d25a04942ede61007f6a
|
||||
@@ -63,12 +67,16 @@ func (d *packetSideDataSkipSamples) Add(ss *SkipSamples) error {
|
||||
return d.d.addBytes(C.AV_PKT_DATA_SKIP_SAMPLES, ss.bytes())
|
||||
}
|
||||
|
||||
func (d *packetSideDataSkipSamples) Get() (*SkipSamples, error) {
|
||||
func (d *packetSideDataSkipSamples) Get() (*SkipSamples, bool) {
|
||||
b := d.d.getBytes(C.AV_PKT_DATA_SKIP_SAMPLES)
|
||||
if len(b) == 0 {
|
||||
return nil, nil
|
||||
return nil, false
|
||||
}
|
||||
return newSkipSamplesFromBytes(b)
|
||||
ss, err := newSkipSamplesFromBytes(b)
|
||||
if err != nil {
|
||||
return nil, false
|
||||
}
|
||||
return ss, true
|
||||
}
|
||||
|
||||
// https://ffmpeg.org/doxygen/7.0/group__lavc__packet__side__data.html#gad208a666db035802403ea994912a83db
|
||||
|
@@ -9,8 +9,8 @@ import (
|
||||
func testPacketSideData(sd *PacketSideData, t *testing.T) {
|
||||
m1 := NewDisplayMatrixFromRotation(90)
|
||||
require.NoError(t, sd.DisplayMatrix().Add(m1))
|
||||
m2, err := sd.DisplayMatrix().Get()
|
||||
require.NoError(t, err)
|
||||
m2, ok := sd.DisplayMatrix().Get()
|
||||
require.True(t, ok)
|
||||
require.Equal(t, m1.Rotation(), m2.Rotation())
|
||||
}
|
||||
|
||||
@@ -19,17 +19,17 @@ func TestPacketSideData(t *testing.T) {
|
||||
defer cp.Free()
|
||||
sd := cp.SideData()
|
||||
|
||||
m1, err := sd.DisplayMatrix().Get()
|
||||
require.NoError(t, err)
|
||||
m1, ok := sd.DisplayMatrix().Get()
|
||||
require.False(t, ok)
|
||||
require.Nil(t, m1)
|
||||
m1 = NewDisplayMatrixFromRotation(90)
|
||||
require.NoError(t, sd.DisplayMatrix().Add(m1))
|
||||
m2, err := sd.DisplayMatrix().Get()
|
||||
require.NoError(t, err)
|
||||
m2, ok := sd.DisplayMatrix().Get()
|
||||
require.True(t, ok)
|
||||
require.Equal(t, m1.Rotation(), m2.Rotation())
|
||||
|
||||
ss1, err := sd.SkipSamples().Get()
|
||||
require.NoError(t, err)
|
||||
ss1, ok := sd.SkipSamples().Get()
|
||||
require.False(t, ok)
|
||||
require.Nil(t, ss1)
|
||||
ss1 = &SkipSamples{
|
||||
ReasonEnd: 1,
|
||||
@@ -38,7 +38,7 @@ func TestPacketSideData(t *testing.T) {
|
||||
SkipStart: 4,
|
||||
}
|
||||
require.NoError(t, sd.SkipSamples().Add(ss1))
|
||||
ss2, err := sd.SkipSamples().Get()
|
||||
require.NoError(t, err)
|
||||
ss2, ok := sd.SkipSamples().Get()
|
||||
require.True(t, ok)
|
||||
require.Equal(t, ss1, ss2)
|
||||
}
|
||||
|
Reference in New Issue
Block a user